ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
———————————–
NGUYỄN LÊ NGỌC DƯƠNG
NGHIÊN CỨU VÀ PHÁT TRIỂN GIẢI PHÁP XỬ LÝ
DỮ LIỆU DÒNG TẠI NÚT BIÊN TRONG LĨNH
VỰC Y TẾ
Ngành: Khoa Học Máy Tính
Mã ngành: 8.48.01.01
LUẬN VĂN THẠC SĨ
TP. HỒ CHÍ MINH, tháng 8 năm 2021
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA–ĐHQG-HCM
Cán bộ hướng dẫn khoa học : PGS.TS. Thoại Nam
Cán bộ chấm nhận xét 1 : TS. Nguyễn Quang Hùng
Cán bộ chấm nhận xét 2 : PGS.TS. Nguyễn Thanh Hiên
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.
HCM ngày 05 tháng 08 năm 2021 (Trực tuyến).
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học
hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1. Chủ Tịch:
PGS.TS. Trần Văn Hoài
2. Thư Ký:
TS. Lê Thanh Vân
3. Phản Biện 1: TS. Nguyễn Quang Hùng
4. Phản Biện 2: PGS.TS. Nguyễn Thanh Hiên
5. Uỷ Viên:
PGS.TS. Trần Công Hùng
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên
ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG
TRƯỞNG KHOA
KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
ĐẠI HỌC QUỐC GIA TP.HCM
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Độc lập - Tự Do - Hạnh Phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Nguyễn Lê Ngọc Dương
MSHV: 1970212
Ngày, tháng, năm sinh: 23/08/1996
Nơi sinh: Cần Thơ
Ngành: Khoa Học Máy Tính
Mã số: 8.48.01.01
I. TÊN ĐỀ TÀI: Nghiên cứu và phát triển giải pháp xử lý dữ liệu dòng tại nút
biên trong lĩnh vực y tế.
NHIỆM VỤ VÀ NỘI DUNG:
– Tìm hiểu những thách thức về xử lý dữ liệu lớn trong lĩnh vực y tế và mô hình
mô hình điện toán biên/sương mù ứng dụng trong lĩnh vực y tế;
– Tìm hiểu bệnh tim mạch, phương pháp theo dõi bệnh tim mạch, và ứng dụng
học máy để xây dựng mô hình dự đoán bệnh tim mạch tại nhà;
– Dựa trên điện toán biên/sương mù xây dựng khung phần mềm thu thập phân
tích dữ liệu có khả năng mở rộng và xử lý theo thời gian thực;
– Đánh giá tính khả thi và so sánh với các công trình nghiên cứu đi trước.
II. NGÀY GIAO NHIỆM VỤ: 20/01/2021
III. NGÀY HOÀN THÀNH NHIỆM VỤ: 20/06/2021
IV. CÁN BỘ HƯỚNG DẪN: PGS.TS. Thoại Nam
Tp. HCM, ngày ........ tháng ......... năm 2021
CÁN BỘ HƯỚNG DẪN
CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
(Họ tên và chữ ký)
(Họ tên và chữ ký)
TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
(Họ tên và chữ ký)
Lời cảm ơn
Đầu tiên là lời cảm ơn chân thành đến Thầy PGS.TS. Thoại Nam trong suốt
thời gian qua đã hướng dẫn và giúp đỡ tận tình trong quá trình thực hiện luận
văn tốt nghiệp. Với những lời nhận xét hướng dẫn, và định hướng chuyên nghiệp
của Thầy đã giúp tôi có được hướng tiếp cận đúng để thực hiện đề tài, giúp
chúng tôi thấy được những thuận lợi và hạn chế của các phương pháp khác nhau
và từng bước khắc phục để ngày một hoàn thiện hơn.
Bên cạnh đó là lời cảm ơn sâu sắc đến gia đình và bạn bè đã động viên, cổ vũ
tinh thần và góp ý trong suốt quá trình học tập và thực hiện đề tài, đặc biệt là
gia đình đã chăm lo và hy sinh rất nhiều để tôi có thể chuyên tâm học tập.
Và sau cùng, tôi kính chúc quý Thầy Cô trong khoa Khoa Học và Kĩ Thuật Máy
Tính nhiều sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình
là truyền nhiệt huyết và kiến thức cho thế hệ mai sau.
TP.Hồ Chí Minh, Tháng 08 Năm 2021
Nguyễn Lê Ngọc Dương
i
Tóm tắt
Trong bối cảnh số hoá toàn cầu hiện nay trong nhiều lĩnh vực khác nhau, đặc
biệt trong lĩnh vực y tế thì việc theo dõi và quản lý về nhu cầu sức khoẻ từ xa
theo thời gian thực để có thể dự đoán trước bệnh tật giúp giảm chi phí nhập
viện là ưu tiên hàng đầu cho quốc gia và toàn thế giới. Vì vậy, các thiết bị y tế
có khả năng kết nối internet và các ứng dụng di động, v.v. liên tục được phát
triển. Tuy nhiên các thiết bị này liên tục sinh ra một lượng dữ liệu khổng lồ,
được gọi là dữ liệu lớn. Với tốc độ tạo dữ liệu ngày càng nhanh, nên việc thu
thập, xử lý và phân tích dữ liệu để có thể thực hiện các dự đoán trong trường
hợp khẩn cấp hoặc trích xuất thông tin theo thời gian thực là một thách thức
rất lớn đối với các kiến trúc và phương pháp xử lý truyền thống. Do đó, cần phải
có giải pháp về kiến trúc và phương pháp xử lý luồng dữ liệu theo thời gian thực
một cách hiệu quả và có khả năng mở rộng cao. Để khắc phục vấn đề này, luận
văn đề xuất khung phần mềm hỗ trợ phân tích và dự đoán trước bệnh theo thời
gian thực, giúp theo dõi bệnh nhân từ xa, giúp làm giảm nhiều chi phí. Khung
phần mềm được xây dựng dựa trên kiến trúc được đề mới xuất gần đây được
gọi là điện toán biên/sương mù (Edge/Fog Computing), nó đem lại khả năng
xử lý và phản hồi nhanh do các máy xử lý đặt ở vị trí gần các nguồn sinh dữ
liệu, ngoài ra còn có khả năng lưu trữ tại nút biên/sương mù (Edge/Fog Node).
Khung phần mềm tập trung vào việc thu thập dữ liệu từ các thiết bị hoặc ứng
dụng di động thông qua Apache Kafka, mỗi loại bệnh sẽ được quản lý bởi một
hoặc nhiều Kafka Topics, ứng dụng giúp xử lý dữ liệu và áp dụng mô hình học
máy dự đoán được xây dựng dựa trên Kafka Streams. Để kiểm chứng cho tính
khả thi của khung phần mềm, luận văn xây dựng khung phần mềm giúp thu
thập dữ liệu và dự doán bệnh tim mạch (Heart Disease) với mô hình học sâu
(Deeplearning) được huấn luyện từ tập dữ liệu có sẵn.
ii
Abstract
In our current age of global digitization across different fields, medical in particular, real-time remote health monitoring and managing helps predict diseases
in advance and reduce hospitalization costs. As a result, such practice has become a top priority for many countries around the world. Therefore, Internetcapable medical devices, wearables, mobile applications, etc. are continuously
developed. However, these devices ceaselessly generate huge amounts of data,
formally known as Big Data. With the speed of data generation getting increasingly faster, it is a challenge for traditional processing architectures and
methods to collect, process, and analyze this data in order to make emergency
predictions or extract real-time information. Thus, there exists an urgent need
for an efficient and scalable real-time data stream processing architecture and
method. To solve this problem, this thesis proposes a software framework that
supports real-time analysis and prediction of diseases so as to help monitor patients remotely and reduce costs. The software framework is based on a recently
proposed architecture called Edge/Fog Computing, which provides fast processing and responses thanks to the processing machines being placed near the data
generation sources and the storage capability at Edge/Fog Nodes. Moreover, the
software framework is focused on collecting data from mobile devices and applications via Apache Kafka - each disease will be managed by one or more Kafka
Topics, while Kafka Streams is used to build applications that preprocess data
and apply predictive machine learning models. To substantiate the viability of
the software framework, this thesis builds a software framework to help monitor
and predict cardiovascular disease through a Deep Learning model trained from
the available data sets with the aim of detecting disease risks as early as possible.
iii
Lời cam đoan
Tôi là Nguyễn Lê Ngọc Dương học viên cao học khoa Khoa Học và Kĩ Thuật
Máy Tính, Đại học Bách Khoa TP. HCM, MSHV 1970212. Tôi xin cam đoan
rằng luận văn thạc sĩ "Nghiên cứu và phát triển giải pháp xử lý dữ liệu dòng tại
nút biên trong lĩnh vực y tế" là kết quả tìm hiểu, nghiên cứu độc lập của chính
bản thân. Tôi xin cam đoan:
1. Luận văn được thực hiện cho mục đích tìm hiểu và nghiên cứu ở bậc cao
học.
2. Các công trình, bài báo tham khảo để xây dựng nên luận văn này đều được
trích dẫn, tham khảo. Tất cả các tài liệu được trích dẫn và có tính kế thừa
từ các tạp chí và các công trình nghiên cứu đã được công bố.
3. Những công cụ, phần mềm cho quá trình thực hiện luận văn đều là phần
mềm mã nguồn mở.
4. Hình ảnh và số liệu được trích dẫn nguồn tham khảo rõ ràng.
5. Kết quả nghiên cứu được trình bày trung thực dựa trên số liệu thực tế khi
chạy chương trình.
TP.Hồ Chí Minh, Ngày ..... Tháng ..... Năm .....
iv
Mục lục
1 Giới thiệu đề tài
1
1.1
Tổng quan đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Mục tiêu, đối tượng nghiên cứu và phạm vi của đề tài . . . . . . .
4
1.2.1
Mục tiêu và đối tượng nghiên cứu . . . . . . . . . . . . . .
4
1.2.2
Phạm vi của đề tài . . . . . . . . . . . . . . . . . . . . . . .
5
1.2.3
Cấu trúc luận văn . . . . . . . . . . . . . . . . . . . . . . . .
5
2 Những nghiên cứu liên quan và bài toán cần giải quyết
6
2.1
Những nghiên cứu liên quan . . . . . . . . . . . . . . . . . . . . . .
6
2.2
Bài toán cần giải quyết . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.3
Công cụ giải bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1
Công cụ xử lý dữ liệu dòng (Stream Processing Engines) . 10
2.3.2
Apache Kafka . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.3
Kafka Streams . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Khung phần mềm thu thập và phân tích dữ liệu trong y tế
18
3.1
Kiến trúc tổng quan . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2
Kiến trúc khung phần mềm thu thập và phân tích dữ liệu . . . . . 20
3.3
Thu thập dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4
Ứng dụng xử lý dữ liệu luồng . . . . . . . . . . . . . . . . . . . . . 22
4 Giải thuật xử lý dữ liệu tại nút biên
24
4.1
Bệnh tim mạch (Heart Disease) . . . . . . . . . . . . . . . . . . . . 24
4.2
Phương pháp theo dõi bệnh tim từ xa . . . . . . . . . . . . . . . . 26
4.3
Xây dựng mô hình học máy . . . . . . . . . . . . . . . . . . . . . . 30
v
MỤC LỤC
4.4
4.3.1
Trực quan hoá tập dữ liệu . . . . . . . . . . . . . . . . . . . 30
4.3.2
Huấn luyện mô hình . . . . . . . . . . . . . . . . . . . . . . 32
Công cụ tích hợp mô hình vào ứng dụng xử lý luồng . . . . . . . . 34
5 Đánh giá khung phần mềm
5.1
5.2
36
Mô hình học máy dự đoán bệnh tim mạch . . . . . . . . . . . . . . 36
5.1.1
Phương pháp đánh giá mô hình dự đoán . . . . . . . . . . 36
5.1.2
Độ chính xác của mô hình dự đoán bệnh tim theo dõi từ xa 37
Khung phần mềm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2.1
Phương pháp đánh giá khung phần mềm . . . . . . . . . . 40
5.2.2
Đánh giá hiệu năng khung phần mềm . . . . . . . . . . . . 41
6 Kết luận
45
6.1
Kết quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.2
Khó khăn và hạn chế . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.3
Định hướng tương lai . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Tài liệu tham khảo
48
A Bảng đối chiếu thuật ngữ Anh - Việt
A1
B Thiết lập cho thử nghiệm
B2
B.1 Thiết lập Kafka Broker . . . . . . . . . . . . . . . . . . . . . . . . . B2
B.2 Thiết lập mô phỏng dữ liệu . . . . . . . . . . . . . . . . . . . . . . B3
B.3 Thiết lập Kafka Streaming Application . . . . . . . . . . . . . . . . B3
vi
Danh sách hình vẽ
1.1
Tổng quan mô hình điện toán biên/sương mù [1] . . . . . . . . . .
1.2
Tổng quan mô hình điện toán biên/sương mù ứng dụng trong lĩnh
vực y tế [2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1
3
4
Các tính năng của công cụ xử lý luồng hiện có và message broker
[3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2
Mô hình Publish/Subscribe [4] . . . . . . . . . . . . . . . . . . . . . 11
2.3
Một hệ sinh thái sử dụng Apache Kafka [3] . . . . . . . . . . . . . 13
2.4
Luồng dữ liệu và Kafka [3] . . . . . . . . . . . . . . . . . . . . . . . 13
2.5
Đồ thị cấu trúc liên kết các bộ xử lý luồng trong Kafka Streams [5] 16
3.1
Kiến trúc tổng quan khung phần mềm . . . . . . . . . . . . . . . . 19
3.2
Thành phần và chức năng của từng thành phần trong khung phần
mềm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3
Đồ thị cấu trúc liên kết xử lý và dự đoán bệnh tim . . . . . . . . . 22
4.1
Điện tâm đồ (ECG) . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2
Độ dốc của nhịp tim . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3
Thống kê số lượng nhãn của tập dữ liệu . . . . . . . . . . . . . . . 30
4.4
Tần suất bệnh tim mạch theo độ tuổi . . . . . . . . . . . . . . . . 31
4.5
Tần suất bệnh tim mạch theo các cơn đau ngực . . . . . . . . . . . 31
4.6
Mối tương quan giữa các thuộc tính . . . . . . . . . . . . . . . . . 32
4.7
K-Fold Cross Validation . . . . . . . . . . . . . . . . . . . . . . . . 33
4.8
Cấu trúc mô hình dự đoán bệnh tim . . . . . . . . . . . . . . . . . 33
4.9
Thông số mô hình dự đoán bênh tim mạch . . . . . . . . . . . . . 34
vii
Danh sách bảng
4.1
Các thuộc tính của bệnh tim mạch . . . . . . . . . . . . . . . . . . 27
5.1
Confusion Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2
Confusion Matrix cho mô hình 1 . . . . . . . . . . . . . . . . . . . 37
5.3
Confusion Matrix cho mô hình 2 . . . . . . . . . . . . . . . . . . . 38
5.4
Confusion Matrix cho mô hình 3 . . . . . . . . . . . . . . . . . . . 38
5.5
Confusion Matrix cho mô hình 4 . . . . . . . . . . . . . . . . . . . 39
5.6
Confusion Matrix cho mô hình 5 . . . . . . . . . . . . . . . . . . . 39
5.7
Cấu hình máy dùng cho thí nghiệm . . . . . . . . . . . . . . . . . . 41
5.8
Kết quả thông lượng tham khảo [4] . . . . . . . . . . . . . . . . . . 42
5.9
Kết quả thông lượng tham khảo với sự ảnh hưởng từ băng thông
mạng [6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.10 Kết quả thông lượng của khung phần mềm được hiện thực với
Kafka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.11 Kết quả thời gian xử lý tham khảo. . . . . . . . . . . . . . . . . . . 44
5.12 Kết quả thời gian xử lý của khung phần mềm được hiện thực với
Kafka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
viii
Chương 1
Giới thiệu đề tài
1.1
Tổng quan đề tài
Ngày nay, thời đại được mô tả là thời đại của dữ liệu, nơi tất cả dữ liệu đều
được số hóa và trở nên có ý nghĩa trong mọi lĩnh vực. Nên nhu cầu theo dõi
về mọi mặt là cần thiết. Do đó, thị trường IoT toàn cầu dự kiến sẽ đạt hơn 10
nghìn tỷ đô la vào năm 2025 [7]. Đặc biệt trong nền công nghiệp y tế chăm sóc
sức khoẻ (Healthcare Industry), một lượng lớn dữ liệu được sinh ra từ các thiết
bị theo dõi như MioT, Wearable Medical Devices, và một số công cụ thu thập
dữ liệu khác. Gartner đã ước tính tổng số thiết bị IoT là 8,4 tỷ vào năm 2017 và
tăng 31% so với năm 2016. Intel ước tính 200 tỷ vào năm 2020, tương đương với
26 thiết bị thông minh cho mỗi con người trên Trái đất. Về con số chi phí, tổng
số tiền chi cho các thiết bị và dịch vụ IoT là 2 nghìn tỷ đô la vào năm 2017, các
dự báo khác bao gồm 772,5 tỷ đô la vào năm 2018, tăng 14,6% so với ước tính.
Nó có thể đạt 1 nghìn tỷ đô la vào năm 2020 và 1,1 nghìn tỷ đô la vào năm 2021.
Các giải pháp IoT chăm sóc sức khỏe vào năm 2025 có thể đạt khoảng 1 nghìn
tỷ đô la vào năm 2025. Các số liệu thống kê sau đây cho thấy độ ảnh hưởng của
việc ứng dụng công nghệ trong nển công nghiệp chăm sóc sức khỏe [8]:
1. Các thiết bị IoT ở các tổ chức chăm sóc sức khỏe chiếm 60%.
2. Bảo trì và giám sát IoT đang diễn ra trên 73% các tổ chức.
3. Đến năm 2019, các công cụ và công nghệ IoT có khả năng được triển khai
1
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
tại 87% các tổ chức chăm sóc sức khỏe. 64% bệnh nhân trong ngành chăm
sóc sức khỏe bắt đầu sử dụng các công cụ IoT.
4. Tuy nhiên, có 89% vi phạm bảo mật IoT xảy ra trong các tổ chức chăm sóc
sức khỏe.
Từ những con số từ thống kê có thể thấy, nền công nghiệp chăm sóc sức khỏe
đang phát triển rất nhanh và phải đối mặt với nhiều thách thức được mô tả như
5 đặc tính trong dữ liệu lớn: Volume, Variety, Velocity, Veracity và Value (5V)
[9].
Từ nhiều khảo sát có thể thấy trong nền công nghiệp chăm sóc sức khỏe
thông mình phải đối mặt mới 3 thách thức chính:
• Thứ nhất, dữ liệu chăm sóc sức khỏe đến từ nhiều nguồn phân tán, chẳn
hạn như hồ sơ y tế điện tử, hình ảnh lâm sàng, dữ liệu chẩn đoán và dữ liệu
yêu cầu về sức khỏe, hệ thống phát trực tuyến, cảm biến gắn vào giường
bệnh để liên tục theo dõi thông tin bệnh nhân, v..v, thu thập dữ liệu từ các
hệ thống phân tán là một quá trình phức tạp do lượng dữ liệu khổng lồ.
• Thứ hai, lưu trữ dữ liệu lớn và không đồng nhất đó là một vấn đề lớn; do
đó, nhu cầu về một hệ thống lưu trữ dữ liệu lớn với hiệu suất hoạt động
hiệu quả là rất cần thiết.
• Thứ ba, thách thức này liên quan đến phân tích dữ liệu, đặc biệt là xử lý
dữ liệu lớn trong thời gian thực, bao gồm mô hình hóa, trực quan hóa, dự
đoán và tối ưu hóa.
Với những thách thức này đòi hỏi các hệ thống xử lý mới phải đối phó với dữ
liệu không đồng nhất hoặc xử lý dữ liệu lớn trong thời gian thực. Điều này cho
thấy hệ thống tập trung điện toán đám mây (Cloud Computing) thuần túy sẽ
không giúp giải quyết được những thách thức vì cần phải xử lý tập trung theo
gói (Batch Processing), và tốn nhiều thời gian để xử lý. Do đó, cần phải có một
mô hình thu thập và xử lý theo thời gian thực (Real-time Processing) hoặc cận
thời gian thực (Near Real-time Processing). Gần đây một kiến trúc hệ thống
mới được đề xuất đó là mô hình phân tích dữ liệu theo thời gian thực điện toán
biên/sương mù Hình 1.1, với mục đích giảm tải cho điện toán đám mây và mang
2
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
các nút có khả năng tính toán, dự đoán và lưu trữ gần với nguồn sinh dữ liệu
từ các ICU, bệnh viện, phòng khám, v.v. Mô hình mang lại khả năng tiền xử
lý dữ liệu, trích xuất những thông tin có ý nghĩa trước khi được thu thập tập
trung về máy chủ trung tâm. Ngoài ra, với thiết kế đặt gần các nguồn sinh dữ
liệu (người dùng, thiết bị, . . . ) về vị trí địa lý nên khả năng phản hồi nhanh,
độ trễ thấp, rất phù hợp cho việc theo dõi các thông số cần tính chất thời gian
thực.
Dựa trên mô hình điện toán biên/sương mù, luận văn xây dựng khung phần
mềm tập trung vào giải quyết việc thu thập và tiền xử lý dữ liệu theo thời gian
thực hoặc cận thời gian thực trong lĩnh vực y tế Hình 1.2.
Hình 1.1: Tổng quan mô hình điện toán biên/sương mù [1]
3
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
Hình 1.2: Tổng quan mô hình điện toán biên/sương mù ứng dụng trong lĩnh vực
y tế [2]
1.2
Mục tiêu, đối tượng nghiên cứu và phạm
vi của đề tài
1.2.1
Mục tiêu và đối tượng nghiên cứu
Luận văn đề ra 2 mục tiêu cụ thể như sau:
• Dựa trên mô hình điện toán biên/sương mù xây dựng khung phần mềm để
thu thập và theo dõi dữ liệu trong lĩnh vực y tế. Khung phần mềm đem lại
khả năng mở rộng và chịu tải cao với một lượng lớn dữ liệu được xử lý tại
nút biên trước khi dữ liệu về nút xử lý trung tâm;
• Ứng dụng giải thuật giúp khung phần mềm có khả năng tiền xử lý và dự
đoán tại nút biên. Khả năng xử lý trong khoảng thời gian cho phép giúp
khung phần mềm có thể đem lại độ trễ thấp nhất có thể.
Đối tượng nghiên cứu của luận văn là các loại bệnh cần theo dõi và phát hiện
sớm các bất thường để đội ngũ y bác sĩ có thể dễ dàng theo dõi và can thiệp
điều trị kịp thời như bệnh tim mạch, bệnh tiểu đường, bệnh tiểu đường thời kỳ
thai sản, v.v.
Cụ thể đối tượng nghiên cứu chính trong luận văn là bệnh tim mạch.
4
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
1.2.2
Phạm vi của đề tài
Luận văn sẽ không tập trung vào việc định nghĩa các dữ liệu được sinh ra như
thế nào và dữ liệu sau khi đã xử lý qua khung phần mềm được ứng dụng như thế
nào. Tất cả dữ liệu về các thông số theo dõi bệnh tim sẽ được mô phỏng, ngoại
trừ tập dữ liệu dùng để huấn luyện mô hình dự đoán bệnh tim từ Kaggle [10].
Luận văn sẽ tập trung vào xây dựng khung phần mềm dựa trên nền điện toán
biên/sương mù và ứng dụng giải thuật máy học vào dự đoán bệnh tim mạch.
Hiện thực và đánh giá khung phần mềm về khả năng chịu tải và khả năng xử
lý đưa ra dự đoán thông qua mô hình máy học.
1.2.3
Cấu trúc luận văn
Chương 1. Tổng quan về nội dung, mục tiêu và phạm vi nghiên cứu.
Chương 2. Những nghiên cứu liên quan và bài toán cần giải quyết.
Chương 3. Khung phần mềm thu thập và phân tích dữ liệu.
Chương 4. Giải thuật xử lý tại nút biên.
Chương 5. Đánh giá khung phần mềm.
Chương 6. Kết luận.
5
Chương 2
Những nghiên cứu liên
quan và bài toán cần giải
quyết
2.1
Những nghiên cứu liên quan
Ngày nay, phân tích dữ liệu lớn, đặc biệt là phân tích chăm sóc sức khỏe đã
trở thành một vấn đề quan trọng đối với một số lượng lớn các nghiên cứu. Gần
đây, nhiều bài nghiên cứu đang sử dụng máy học kết hợp với xử lý luồng trong
hệ thống chăm sóc sức khoẻ thông minh.
Trong [11] tác giả đã đưa ra những thách thức phải đối mặt trong việc xử lý
một lượng lớn dữ liệu về y tế. Họ đã đưa ra những thách thức như sau. Thứ
nhất, việc thu thập và nhập dữ liệu là cần thiết cho thiết lập chăm sóc sức khỏe
lâm sàng, và nó là dữ liệu dạng luồng nên những thách thức chính trong khi
xử lý việc thu thập dữ liệu là băng thông mạng, khả năng mở rộng và các vấn
đề chi phí. Thứ 2, sau khi thu thập thì việc quản lý và lưu trữ rất khó khắn
và cần chi phí rất lớn. Thứ 3, để cải thiện kết quả của bệnh nhân và phát hiện
các dấu hiệu cảnh báo của các biến chứng, cần có khung phần mềm xử lý dòng
theo thời gian thực. Ví dụ trong các dịch vụ chăm sóc sức khỏe hiện đại, bệnh
nhân thường được kết nối với thiết bị y tế liên tục theo dõi huyết áp và nhịp
6
CHƯƠNG 2. NHỮNG NGHIÊN CỨU LIÊN QUAN VÀ BÀI TOÁN CẦN GIẢI QUYẾT
tim. Và để giải quyết các vấn đề, họ đã đề xuất mô hình kết hợp Apache Kafka
và Apache Spark Streaming. Kafka hoạt động rất tốt trong việc vận chuyển dữ
liệu giữa các hệ thống khác nhau, nhưng lại không có công cụ phân tích và xử
lý, nên Spark Streaming được áp dụng vào để thực hiện việc phân tích.
Nhóm tác giải ở [12] [13] cũng với ý tưởng kết hợp Apache Kafka và Apache
Spark xây dựng hệ thống xử lý luồng cho việc thu thập thông tin, phân tích
dự đoán bệnh tim mạch với mô hình máy học Decision Tree. Họ sử dụng bộ dữ
liệu tim mạch Cleveland để huấn luyện mô hình. Cả hai đều thu thập dữ liệu và
quản lý bệnh nhân thông qua mạng xã hội Twitter, sử dụng Twitter Streaming
API để tạo các luồng dữ liệu.[12] thu thập dữ liệu và phân tích thông qua Spark
Streaming, [13] kết hợp thêm Kafka để thu thập dữ liệu và Spark Streaming với
mô hình học máy để phân tích và dự đoán.
Bài báo [14] dựa trên các ý tưởng về xây dựng hệ thống phân tích luồng và
áp dụng mô hình máy học. Điểm đặc biệt trong [14] là nó vừa thu thập dữ liệu
và vừa huấn luyện mô hình (online traning). Kiến trúc mô hình như sau, trong
giai đoạn đầu, dữ liệu được thu thập từ các nguồn dữ liệu khác nhau; Kafka
Producer liên tục tạo ra luồng dữ liệu và truyền về Kafka Broker thông qua các
chủ đề khác nhau, tên các chủ đề liên quan đến các bệnh khác nhau. Thứ hai,
Spark Streaming nhận luồng dữ liệu y tế với các thuộc tính liên quan đến từng
bệnh và sau đó áp dụng mô hình máy học để dự đoán tình trạng sức khỏe. Thứ
ba, Online Predict nhận các gói dữ liệu đầu vào và chịu trách nhiệm phân tích
và cập nhật mô hình theo dữ liệu mới đến. Ở giai đoạn cuối cùng, kết quả dự
đoán đến các nơi lưu dữ liệu, trong đó đầu ra cũng sẽ gửi lại một lần nữa đến
Kafka để được sử dụng bởi các ứng dụng khác như dịch vụ web, hệ thống báo
động, bảng điều khiển, ứng dụng di động và mạng xã hội bệnh viện.
Nhóm tác giả ở bài báo [15] xây dựng mô hình HealthFog, kết hợp mô hình
deep learning ở điện toán biên để theo dõi, phân tích và dự đoán bệnh tim mạch
theo thời gian thực. Tác giả đưa ra thách thức với mô hình điện toán đám mây
hiện tại không thể đáp ứng hết khi cần phân tích dự đoán theo thời gian thực với
số lượng các thiết bị có thể tạo ra dữ liệu quá lớn. Nên với mô hình HealthFog
tác giả xây dựng kết hợp điện toán biên và điện toán đám mấy để giải quyết
bài toán trên. Sử dụng ứng dụng di động để thu thập dữ liệu của bệnh nhân,
và các dữ liệu sẽ được gửi về nút biên có tên là FogBus. Tận dụng lợi thế của
7
CHƯƠNG 2. NHỮNG NGHIÊN CỨU LIÊN QUAN VÀ BÀI TOÁN CẦN GIẢI QUYẾT
điện toán biên được thế kế nằm gần các nguồn sinh dữ liệu nên việc nhận phân
tích và dự đoán với mô hình máy học đem lại phản hồi nhanh. Các dữ liệu được
phân tích ở FogBus sẽ được gửi về điện toán đám mây để có thể sử dụng lại.
Với ý tưởng điện toán biên, [16] tác giả sử dụng một cụm máy Raspberry Pi
3 để chạy ứng dụng xử lý luồng tại nút biên. Trong bài báo này, điện toán biên
được sử dụng để theo dõi, thu thập dữ liệu từ các thiết bị IoT trên xe đang di
chuyển liên tục. Mô hình kết hợp MQTT và Apache Flink để phân tích và xử
lý. Kết quả đem lại mô hình có thể theo dõi được 245369 xe đang di chuyển tại
Italy, với 0.8 dữ liệu được sinh ra trong mỗi giây. Quá trình xử lý mất 10s để có
thể gửi về đám mây.
Một khung phần mềm thu thập, chuẩn hoá các loại dữ liệu không đồng nhất,
và kết hợp mô hình dự đoán tính toán nhỏ được đề xuất trong [3], bài báo tận
dụng sức mạnh của Kafka Streams xây dựng mô hình dự đoán hạn hán. Dựa
vào dữ liệu từ các trạm thu thập dữ liệu môi trường, và điểm đặc biệt các dữ
liệu của các trạm lại có định dạng khác nhau, tác giả kết hợp Kafka Streaming
xây dựng công cự xử lý luồng để định dạng lại dữ liệu theo mong muốn và cho
đi qua mô hình dữ đoán hạn hán. Trong bài báo, tác giả sử dụng Confluent
Platform [17] một công cụ được xây dựng dựa trên Apache Kafka hỗ trợ nhiều
tính năng mới để hiện thực nên mô hình đề xuất.
Mô hình điện toán biên ngày càng được ứng dụng nhiều trong IoT, tại phòng
thí nghiệm ở các trường đại học cũng đã đem vào giảng dạy và thực hành. Bài
báo [18] xây dựng mô hình điện toán biên cho phòng thí nghiệm, tận dụng Kafka
để thu thập dữ liệu thông qua Kafka Connect để có thể hỗ trợ nhiều giao thức
trong IoT như MQTT, COAP, HTTP, v.v.
2.2
Bài toán cần giải quyết
Các công trình nghiên cứu đi trước đã đưa ra những thách thức liên quan
về việc thu thập dữ liệu y tế, và từ các dữ liệu đó phân tích, trích xuất những
thông tin cần thiết để đưa ra dự đoán nhanh nhất có thể và sau đó là lưu trữ
dữ liệu.
Với các khó khăn từ các công trình nghiên cứu đi trước, luận văn hình thành
bài toán như sau. Với nhu cầu mức sống ngày càng cao của con người và việc
8
CHƯƠNG 2. NHỮNG NGHIÊN CỨU LIÊN QUAN VÀ BÀI TOÁN CẦN GIẢI QUYẾT
ngày càng phát triển của khoa học kỹ thuật, thì việc ứng dụng khoa học kỹ
thuật vào lĩnh vực y tế như các công trình nghiên cứu trên là rất cần thiết. Các
phòng khám, các bệnh viện, hoặc các trung tâm chăm sóc đặc biệt, v.v rất cần
theo dõi những thông số cần thiết liên quan đến bệnh của bệnh nhân một các
chặt chẽ. Cụ thể trong phạm vi của luận văn, đối tượng bệnh cần theo dõi là
bệnh tim, một căn bệnh có nguy cơ gây tử vong cao nên việc theo dõi liên tục
và đưa ra dự đoán sớm những dấu hiệu là rất cần thiết. Giả sử một trường hợp
cụ thể, các bệnh nhân sau khi điều trị bệnh tim tại các cơ sở chữa trị được xuất
viện và cần theo dõi với tần suất theo yêu cầu của y bác sĩ. Với cách truyền
thống không có sự can thiệp của khoa học kỹ thuật, các bệnh nhân chỉ có thể
được theo dõi mỗi lần tái khám định kỳ, trong quá trình giữa hai lần tái khám,
đội ngũ y bác sĩ không thể theo dõi và phát hiện bất thường ngay lập tức và
can thiệp điều trị. Khi áp dụng sự theo dõi từ công nghệ, bệnh nhân có thể
được theo dõi từ xa và đều đặn, các thông số sẽ được theo dõi và phát hiện bất
thường ngay lập tức, giúp y bác sĩ có thể can thiệp kịp thời.
Với bài toán đã đề ra, khung phần mềm cần xây dựng cần phải giải quyết
được các vấn đề được trình bày sau:
1. Cách thu thập và quản lý dữ liệu đầu và từ các bệnh khác nhau, với nhiều
định dạng khác nhau;
2. Giải thuật xử lý dữ liệu và đưa ra dự đoán bất thường một cách nhanh
chóng;
3. Có khả năng mở rộng và đáp ứng khi lượng dữ liệu ngày càng nhiều theo
thời gian.
Một số công trình nghiên cứu đi trước đã đưa ra cách theo dõi và dự đoán
phát hiện sớm bệnh tim mạch, các tác giả đã kết hợp mô hình máy học Decision
Tree và cả mô hình học sâu để đưa ra dự đoán trong mô hình theo dõi bệnh
của họ, hệ thống của họ hướng tới hệ thống xử lý tập trung ứng dụng các công
nghệ xử lý dữ liệu lớn như Apache Spark chạy trên cụm máy chủ. Và cũng có
công trình nghiên cứ tập trung vào điện toán biên để xây dựng mô hình theo
dõi bệnh tim. Nhóm tác giả ở công trình [15] [16] đã cho thấy được sức mạnh
của điện toán biên/sương mù trong việc giải bài toán tiền xử lý dữ liệu.
9
- Xem thêm -