TỔNG QUAN NGHIÊN CỨU
Tình hình nghiên cứu trong nước và thế giới
Tương lai của ứng dụng công nghệ thông tin trong lĩnh vực y tế hướng tới một nền y tế điện tử hiện đại, đáp ứng nhu cầu chăm sóc sức khỏe một cách khoa học và tiết kiệm Sự khởi đầu cho tương lai này diễn ra vào tháng 2 năm 2009 với hội thảo “Thúc đẩy ứng dụng CNTT trong ngành Y tế” Ngày 11/3/2009, Bộ Y tế, VNPT và Intel đã ký kết thỏa thuận triển khai chương trình “Y Tế Điện Tử” nhằm hiện đại hóa đội ngũ nhân viên y tế và cải cách hành chính Đặc biệt, vào ngày 18/3/2009, nhiều đơn vị đã cam kết triển khai chương trình “Y Tế Điện Tử”, đánh dấu bước tiến quan trọng trong việc ứng dụng công nghệ thông tin trong y tế.
Ngày nay, việc tìm kiếm thông tin về điều trị và chăm sóc sức khỏe trên Internet đã giúp người dân nâng cao kiến thức về phòng bệnh và tự điều trị Tuy nhiên, do nhiều nguồn thông tin không được kiểm chứng và người dùng thiếu kiến thức chuyên môn, họ dễ dàng tiếp thu những thông tin sai lệch Mặc dù có nhiều website uy tín từ các cơ sở y tế và bệnh viện, nhưng nguồn tài liệu vẫn chưa đủ phong phú để đáp ứng nhu cầu thông tin của người dân.
Nội dung hiện tại còn rời rạc và thiếu hỗ trợ cho việc tra cứu dễ dàng, khiến người dân gặp khó khăn trong việc tiếp cận các nguồn thông tin chính thống Việc tham khảo từ chỉ mục đến nội dung cụ thể thường không thuận tiện cho người dùng.
Quản lý và phổ biến thông tin bệnh phụ thuộc vào hai yếu tố chính: cơ sở tri thức về bệnh và công cụ hỗ trợ tra cứu Hiện nay, việc tra cứu thông tin thường tốn thời gian và hiệu quả không cao, vì người dùng phải lần lượt từ chỉ mục đến thông tin cần tìm Đặc biệt, trong lĩnh vực y học, thông tin đầu vào thường là triệu chứng bệnh, vì vậy cần xây dựng một cơ sở tri thức phân loại bệnh để cung cấp nguồn thông tin đáng tin cậy cho người dùng không có chuyên môn Điều này không chỉ giúp họ tra cứu dễ dàng hơn mà còn nâng cao kiến thức y học phổ thông, từ đó nâng cao ý thức tự chăm sóc sức khỏe cho bản thân và cộng đồng Trong nước đã có một số hệ thống tra cứu thông tin bệnh để hỗ trợ người dùng.
Dành cho người dùng phổ thông: cung cấp thông tin y học phổ thông
Lượng thông tin phong phú,
Đóng góp của cộng đồng hoặc website của một cơ sở y tế
Các trang web tra cứu bệnh lý thường chỉ cung cấp thông tin dưới dạng danh sách, yêu cầu người dùng phải tìm kiếm từ chỉ mục đến nội dung cụ thể Điều này gây khó khăn cho những người không có kiến thức chuyên môn trong việc tìm kiếm thông tin về bệnh Hơn nữa, thông tin trên các hệ thống này thường không chính thống, có thể được đóng góp bởi cộng đồng hoặc do chủ sở hữu trang web thu thập mà không qua kiểm duyệt.
Hiện nay, Việt Nam chưa có hệ thống web tương tác thông minh để tra cứu thông tin bệnh, cũng như chưa có công trình nào ứng dụng công nghệ ngữ nghĩa để chú thích và hỗ trợ tìm kiếm thông tin liên quan đến bệnh Thêm vào đó, chưa có cơ sở tri thức phân loại bệnh bằng tiếng Việt theo các tiêu chuẩn quốc tế.
1.1.2 Nghiên cứu thế giới Đã có một số công trình ở nước ngoài quan tâm đến xây dựng ontology cho các bệnh thường gặp ở người [6] Ontology bệnh đã được phát triển sử dụng công nghệ ngữ nghĩa cho bệnh ở người với mục đích cung cấp cho cộng đồng y sinh tập hợp các khái niệm, từ vựng nhất quán về bệnh của con người, có khả năng tái sử dụng và bền vững, đặc điểm kiểu hình và khái niệm bệnh từ vựng y tế có liên quan thông qua các nỗ lực hợp tác của các nhà nghiên cứu tại Đại học Northwestern, trung tâm y học di truyền và Đại học Maryland School of Medicine, Viện Khoa học gen Pan Du và các đồng nghiệp [7] đề xuất phương pháp thống kê để xây dựng OBO Foundry Ontology bệnh (DO) Yang Chen và các đồng nghiệp [8] ứng dụng ontology vào hướng luồn tìm kiếm về bệnh Bán tự động xây dựng một cơ sở dữ liệu hình ảnh y tế toàn diện dựa trên ontology Sử dụng cơ sở dữ liệu trên cho việc hỗ trợ chẩn đoán, giáo dục bệnh nhân và tự chăm sóc Tuy nhiên hệ thống chưa đề cập đến làm thế nào để người dùng có thể tiếp cận được thông tin về bệnh ngoài tìm kiếm trên cơ sở dữ liệu thông thường Ontology chưa tham gia vào quá trình tra cứu tìm kiếm của người dùng Ranga Chandra và các đồng nghiệp [9] sử dụng Ontology để biểu diễn mối quan hệ nhân quả giữa bệnh mãn tính và các yếu tốt gây bệnh nhằm tạo điều kiện lập thứ hạng và xác suất của các nguyên tố gây bệnh đối với một bệnh mãn tính cụ thể Tiếp cận vấn đề suy luận với vai trò quan hệ nhân quả dựa trên ontology tạo ra Web ngữ nghĩa dựa trên mạng lưới cấu trúc dữ liệu và thực hiện phân tích trung tâm để xếp hạng gen theo
Phương pháp tiếp cận Web ngữ nghĩa giúp khai thác các mối quan hệ ngữ nghĩa tiềm ẩn, từ đó dễ dàng xác định các yếu tố trung tâm dẫn đến giả thuyết cụ thể và tạo ra những hiểu biết mới.
SNOMED CT là cơ sở dữ liệu thuật ngữ y tế lâm sàng lớn nhất và đa ngôn ngữ trên thế giới, cung cấp nội dung lâm sàng được kiểm chứng khoa học Nó cho phép biểu diễn lâm sàng nhất quán và xử lý thông tin trong hồ sơ y tế điện tử Được quản lý bởi SNOMED International, một tổ chức phi lợi nhuận, SNOMED CT được phát triển bởi các chuyên gia chăm sóc sức khỏe nhằm hỗ trợ ra quyết định lâm sàng và phân tích trong các phần mềm y tế.
SNOMED CT was first released in January 2002, resulting from the merger of Clinical Terms Version 3 (CTV3) and Systematized Nomenclature of Medicine (SNOMED RT) The initial version of SNOMED RT was named
Hệ thống danh mục bệnh học (SNOP) được Hiệp hội y học Mỹ (CAP) phát hành vào năm 1995, đã trải qua nhiều phiên bản, trong đó phiên bản SNOMED RT ra đời vào năm 2000 nhờ sự hợp tác giữa CAP và Kaiser Permanente Cùng lúc đó, CTV3, ban đầu được phát triển ở Anh vào những năm 1980 bởi Tiến sĩ James Read với tên gọi Read Codes, đã được đổi tên thành CTV3 và quản lý bởi Trung tâm dịch vụ y tế vương quốc Anh (NHS) Hiện nay, SNOMED CT được cập nhật nội dung định kỳ vào tháng 1 và tháng 7 hàng năm.
7 hàng năm Bốn nguyên tắc cơ bản định hướng phát triển nội dung lâm sàng và thiết kế kỹ thuật bao gồm:
Nội dung được đóng góp bởi các nhóm chuyên gia lâm sàng và tin học y tế
Phát triển nội dung tập trung vào chất lượng tuân thủ các quy tắc biên tập nghiêm ngặt
Một quá trình cải tiến chất lượng được mở cho việc giám sát công khai
Các rào cản tối thiểu để áp dụng và sử dụng
Các bản phát hành sẽ bao gồm nhiều loại thay đổi như khái niệm mới, mô tả mới, mối quan hệ mới giữa các khái niệm và bộ tham chiếu mới Ngoài ra, sẽ có cập nhật và loại bỏ các thành phần hiện có Định hướng của những thay đổi này nhằm cải thiện tính chính xác và sự cập nhật của nội dung.
Thay đổi hiểu biết về sức khỏe và quá trình bệnh tật
Giới thiệu các loại thuốc mới, các điều tra, các phương pháp điều trị
Mối đe dọa mới cho sức khỏe
Đề xuất và yêu cầu thay đổi từ người dùng SNOMED CT mang lại lợi ích cho bệnh nhân, bác sĩ và cộng đồng, đồng thời hỗ trợ chăm sóc bệnh nhân dựa trên sự rõ ràng Việc sử dụng bệnh án điện tử (EHR) cải thiện khả năng giao tiếp và cung cấp thông tin liên quan Khi thông tin lâm sàng được lưu trữ theo cách cho phép truy xuất dựa trên ý nghĩa, lợi ích sẽ gia tăng đáng kể Ngoài ra, điều này còn tạo ra cơ hội tăng cường hỗ trợ ra quyết định thời gian thực và cung cấp báo cáo chính xác hơn cho nghiên cứu và quản lý.
SNOMED CT là một cơ sở dữ liệu y tế toàn diện, linh hoạt và có khả năng dịch sang nhiều ngôn ngữ khác nhau Với phạm vi rộng lớn và độ sâu chưa từng có về các chủ đề sức khỏe, SNOMED CT cho phép các bác sĩ lâm sàng ghi lại dữ liệu một cách chi tiết Tính đến tháng 1 năm 2018, cơ sở dữ liệu này đã phát triển lên tới 341.105 khái niệm và hiện đang được sử dụng tại 50 quốc gia trên toàn thế giới.
SNOMED CT là một hệ thống phân loại y tế chứa các khái niệm và định nghĩa rõ ràng, được tổ chức theo cấu trúc phân cấp logic chính thức.
CT SNOMED được thể hiện bằng ba thành phần:
Mục tiêu nghiên cứu
Phát triển cơ sở dữ liệu bệnh sử dụng ontology cho web tương tác thông minh nhằm tra cứu thông tin về các bệnh thường gặp, giúp người dùng dễ dàng tiếp cận nguồn thông tin chính thống khi tìm hiểu về bệnh tật qua các triệu chứng.
Trên 75% mức độ chính xác và bao phủ mà hệ thống đáp ứng khi người dùng tra cứu/tìm kiếm trên web trong phạm vi 300 khái niệm bệnh tật
Thu thập ít nhất 1000 báo cáo, thống kê, tài liệu bệnh từ Sở Y tế, các cơ sở y tế, thư viện của các trường đại học chuyên về ngành y
90% người dùng đánh giá cao tính dễ dàng sử dụng và sự thuận lợi trong việc tra cứu thông tin, nhờ vào khả năng tương tác và hệ thống hướng dẫn tìm kiếm thông minh.
Phạm vi nghiên cứu
- Đối tượng nghiên cứu: ontology bệnh với 300 bệnh thường gặp
Bệnh thường gặp là tập hợp các bệnh được xác định bởi các chuyên gia và bác sĩ thông qua sự đồng thuận hoặc dựa vào thống kê từ phương pháp khai thác dữ liệu.
- Ontology: là cơ sở tri thức gồm các khái niệm được mô tả bởi các thuộc tính, ràng buộc và mối quan hệ giữa các khái niệm trong đó
Tương tác thông minh giữa người dùng và hệ thống tìm kiếm cho phép người dùng cung cấp các trạng thái cơ bản của đối tượng cần tìm, trong khi hệ thống đưa ra gợi ý về các trạng thái ẩn mà người dùng chưa xác định Dựa vào phản hồi của người dùng, hệ thống điều hướng luồng tìm kiếm đến thông tin một cách nhanh chóng và chính xác hơn so với phương pháp tìm kiếm truyền thống Chẳng hạn, trong trường hợp tìm kiếm thông tin về bệnh tật, người dùng có thể chỉ biết các triệu chứng cơ bản, và hệ thống sẽ gợi ý thêm các triệu chứng khác dựa trên tri thức đã được khai thác, từ đó giúp người dùng tìm thấy tài liệu bệnh hoặc cơ sở y tế liên quan một cách hiệu quả.
- Thông tin về bệnh: là thông tin có liên quan đến việc cấu thành bệnh
Thông tin chính thống về bệnh được cung cấp bởi Sở Y tế, các cơ sở y tế và thư viện của các trường đại học có chuyên ngành y học, đảm bảo tính chính xác và đáng tin cậy cho người đọc.
Nội dung thực hiện
Dựa trên mục tiêu tổng quát và ba mục tiêu chuyên biệt của đề tài, năm nội dung thực hiện đã được xác định Nội dung 1 và 2 nhằm đáp ứng mục tiêu (1) và (2), trong khi nội dung 3, 4 và 5 tập trung vào việc thực hiện mục tiêu (3).
TT Các nội dung, công việc chủ yếu cần đƣợc thực hiện
TT Các nội dung, công việc chủ yếu cần đƣợc thực hiện
Thiết kế ontology bệnh sử dụng phân loại bệnh tật quốc tế ICD-10-CM, trong đó mỗi loại bệnh được mô tả bằng các thông tin liên quan như định nghĩa, khái niệm, dịch tễ, yếu tố nguy cơ, nguyên nhân, tiền căn, dấu hiệu nhận biết và triệu chứng.
Để thu thập thông tin y tế đáng tin cậy, cần ít nhất 1000 báo cáo, thống kê và tài liệu bệnh từ Sở Y tế, các cơ sở y tế và thư viện của các trường đại học chuyên ngành y dược Các tài liệu này sẽ được phân loại theo ontology bệnh nhằm đảm bảo tính chính xác và khả năng truy xuất thông tin hiệu quả.
Chúng tôi cung cấp 1000 tài liệu về các bệnh thường gặp, được thu thập từ các nguồn thông tin chính thống như Sở Y tế, các cơ sở y tế uy tín, và thư viện của các trường Đại học chuyên ngành y dược.
Xây dựng phương pháp tương tác thông minh điều hướng luồng tìm kiếm, giúp người dùng tìm đến thông tin nhanh chóng và chính xác
- Phương pháp tương tác thông minh giữa người dùng và hệ thống web tra cứu và ứng dụng trong hệ thống tra cứu bệnh
- Một bài báo hội nghị hoặc tập chí quốc tế
- Một sinh viên cao học hoặc đại học tốt nghiệp theo hướng
TT Các nội dung, công việc chủ yếu cần đƣợc thực hiện
Kết quả cần đạt nghiên cứu
Hệ thống tương tác thông minh tra cứu/tìm kiếm thông tin bệnh thường gặp
Phần mềm tra cứu/ tìm kiếm tương tác thông minh về thông tin bệnh thường gặp
5 Đóng gói và chuyển giao công nghệ
Tài liệu và phần mềm ứng dụng về hệ thống Web tương tác thông minh
Bảng 1.1 Nội dung công việc
Ý nghĩa khoa học
Đề tài này tập trung vào việc xây dựng một cơ sở tri thức mới dựa trên lý thuyết đồng thuận, nhằm đáp ứng xu hướng thông tin đang gia tăng nhanh chóng và nhu cầu tìm kiếm ngữ nghĩa trong môi trường web ngữ nghĩa.
Góp phần xây dựng hệ thống tra cứu YHTT, giúp các nhà quản lý ra quyết định sớm.
Tóm tắt hướng tiếp cận
Tổng quan hệ thống và các phương pháp đề xuất:
Hình 1.1 Tổng quan hệ thống tra cứu tương tác thông minh
Hệ thống tra cứu/tìm kiếm thông minh cho thông tin bệnh thường gặp được mô tả qua các thành phần trong Hình 1.1 Nghiên cứu này chỉ ra các nội dung tương ứng với từng thành phần của hệ thống Dựa trên những nội dung nghiên cứu, các phương pháp phù hợp đã được đề xuất để cải thiện hiệu quả tra cứu thông tin bệnh.
1 Cơ sở tri thức ontology, phương pháp cộng tác và phương pháp xử lý ngôn ngữ tự nhiên được sử dụng giải quyết nội dung 1
2 Phương pháp thu thập dữ liệu từ các nguồn dữ liệu chính thống được cung cấp bởi các Sở y tế, các cơ sở y tế, các thư viện của các trường đại học đào tạo chuyên ngành về y học (giải quyết nội dung 2 )
3 Sử dụng Luật kết hợp cho việc khai phá các luật kết hợp giữa các triệu chứng bênh, sử dụng cho việc điều hướng luồng tìm kiếm, tương tác giữa người dùng với hệ thống nhằm giải quyết nội dung 3
4 Lập trình hệ thống web tra cứu tương tác thông minh dựa trên kết quả nội dung 1, 2 và 3 để xây thực hiện nội dung 4
5 Các phương pháp chuyển giao công nghệ được lựa chọn nhằm giải quyết nội dung 5.
Tóm tắt phương pháp thực hiện
1.7.1 Xây dựng Ontology bệnh sự dụng phương pháp cộng tác
Phương pháp cộng tác xây dựng ontology phân loại bệnh được tiến hành theo các bước sau :
Trong giai đoạn chuẩn bị, cần xác định các tiêu chuẩn thiết kế ontology, tiêu chuẩn hợp tác phát triển ontology và tiêu chuẩn đánh giá sự thành công của quá trình phát triển ontology.
Giai đoạn phát triển ban đầu của dự án tập trung vào việc xây dựng phiên bản ontology bệnh tật (OBT) đầu tiên, tuân thủ các tiêu chuẩn thiết kế ontology Sự phát triển này được xem là một trong những đóng góp quan trọng nhất của đề tài.
Giai đoạn phát triển và nâng cấp của OBT diễn ra cho đến khi tất cả người tham gia đạt được sự đồng thuận thông qua kỹ thuật hợp tác xây dựng ontology Trong quá trình này, ontology sẽ được điều chỉnh và phát triển cấu trúc nhờ sự hợp tác giữa các thành viên hoặc sự nhất quán giữa các nguồn thông tin Mỗi lần cải tiến lặp lại, ontology sẽ được đánh giá dựa trên các tiêu chuẩn và điều kiện đã thiết lập trong giai đoạn chuẩn bị.
Giai đoạn ứng dụng là thời điểm chứng minh tính hiệu quả của ontology thông qua việc áp dụng nó trong nhiều lĩnh vực khác nhau Trong nghiên cứu này, ontology bệnh tật sẽ được sử dụng làm cơ sở tri thức cho hệ thống tìm kiếm bệnh tật, nhằm nâng cao khả năng tương tác thông minh.
Trong quá trình xây dựng ontology, một số phương pháp rút trí ch thông tin, xử lý ngôn ngữ tự nhiên cũng được ứng dụng
The collected database includes official documents and international databases, such as SNOMED CT, MeSH, ICD, UMLS, and the NCI Thesaurus.
Cơ sở dữ liệu phác đồ điều trị của Sở Y tế và hướng dẫn của Bộ Y tế là nguồn thông tin chính thức, đảm bảo độ tin cậy cao về chuyên môn và pháp lý Nội dung này bao gồm 92 bệnh lý được xử trí tại Trạm Y tế và 2412 phác đồ điều trị chung áp dụng tại các bệnh viện.
Tham khảo các tài liệu bao gồm sách, tài liệu hướng dẫn về bệnh tật từ các bệnh viện, các đại học Y dược ở TPHCM và TP Huế
Mặc dù các tài liệu trên có tính chất hàn lâm và khó tiếp cận đối với nhiều người, chúng vẫn có giá trị trong việc xây dựng bộ từ vựng và thông tin chính thống cho cơ sở tri thức ontology về bệnh tật Những người có trình độ học thức có thể tận dụng những nguồn thông tin này để phát triển kiến thức cá nhân và áp dụng vào thực tiễn.
Một số trang web về bệnh thường gặp như http://yduochocvietnam.edu.vn/ và http://yduochoc.com/benh-hoc/ tuyên bố cung cấp thông tin phù hợp với người dân, nhưng chúng không phải là nguồn chính thống và không được kiểm định Do đó, không nên khuyến nghị người dân tham khảo Những trang web này có thể giúp khám phá các bệnh thường gặp thông qua sự tương tác của người dùng và dữ liệu tìm kiếm Hầu hết các cơ sở dữ liệu bệnh tật phân loại theo nhóm bệnh hoặc những bệnh nổi bật, từ đó xác định được 300 bệnh thường gặp Phương pháp đồng thuận từ các chuyên gia và bác sĩ cũng được áp dụng để xác định danh sách này.
1.7.3 Phương pháp tương tác thông minh
Hệ thống hiện tại có ít người dùng và sự tương tác còn hạn chế, do đó luật kết hợp được áp dụng để hướng dẫn tìm kiếm và gợi ý cho người dùng các triệu chứng bệnh tiếp theo dựa trên những triệu chứng cơ bản đã cung cấp Để thực hiện điều này, các luật kết hợp giữa các tập triệu chứng bệnh sẽ được khai thác và phân tích dựa trên các chỉ số đo lường.
"Phổ biến - support" và "chắc chắn - confident" được sử dụng để gợi ý cho người dùng các triệu chứng bệnh tiếp theo dựa trên triệu chứng ban đầu đã được cung cấp hoặc phản hồi.
Cụ thể, ta thấy rằng:
- Một bệnh có nhiều triệu chứng
- Một triệu chứng xuất hiện ở nhiều bệnh khác nhau
Các triệu chứng có mối quan hệ kết hợp, một số triệu chứng cùng xuất hiện trong cùng một bệnh
- Mỗi bệnh có chứa một tập tập các triệu chứng Ti (tập triệu chứng)
- Một tập triệu chứng bao gồm các triệu chứng khác nhau
Tìm tập các triệu chứng thường xuyên xuất hiện cùng nhau trong một bệnh, tính tương quan, tính kết hợp giữa các tập triệu chứng
Vì vậy ta cần tìm luật kết hợp X →Y, trong đó X và Y là tập hợp các triệu chứng
Tập X bao gồm các triệu chứng cơ bản mà người dùng cung cấp hoặc phản hồi khi nhận được gợi ý từ hệ thống Trong khi đó, tập Y chứa các triệu chứng mà hệ thống gợi ý cho người dùng lựa chọn, nhằm định hướng tìm kiếm thông tin về bệnh tật một cách chính xác.
1.7.4 Hoàn thiện hệ thống và chuyển giao công nghệ Ứng dụng này được xây dựng trên nền tảng web bằng ngôn ngữ lập trình Net do đó khi đóng gói ứng dụng tăng khả năng bảo mật cao hơn bằng cách sử dụng cách đóng gói file dll Do đó việc chuyển giao toàn bộ website nhưng vẫn giữ được tính bảo mật source code
NỘI DUNG NGHIÊN CỨU
Nội dung 1: Thiết kế ontology bệnh
2.1.1 Tổng quan các phương pháp xây dựng ontology bệnh
Hầu hết các ontologies được phát triển qua phương pháp hướng kỹ thuật, trong đó một nhóm nhỏ kỹ sư thiết kế và nâng cấp ontologies dựa trên quan điểm chủ quan của họ về thế giới thực Phương pháp này yêu cầu có một nhóm trưởng để điều phối công việc và tích hợp ý tưởng của từng cá nhân Nhóm thiết kế làm việc cùng nhau trong một không gian nhất định trong suốt quá trình phát triển ontology Việc xây dựng một cơ sở tri thức ontology lớn theo phương pháp này rất phức tạp, vì cần phải thường xuyên hòa giải các thay đổi từ các thành viên để đảm bảo tính nhất quán và thống nhất Một ví dụ về công cụ hỗ trợ trong quá trình này là Protégé.
Phương pháp hướng cộng tác trong phát triển Ontology, được Đại học Stanford nghiên cứu, gần đây đã được đề xuất như một cơ chế xây dựng dựa trên sự đồng thuận của số đông Cơ chế này cho phép một nhóm đa dạng với các chuyên môn khác nhau hợp tác hiệu quả trong việc phát triển Ontology.
Các tác giả của [19] đã phát triển hợp tác protege như một phần mở rộng của protege client-server, cho phép nhóm phát triển cùng thảo luận, trao đổi và thực hiện các thay đổi trong quá trình xây dựng Ontology OntoWiki [20] là một công cụ wiki cho Ontology, cung cấp khả năng ghi nhớ lịch sử thay đổi của Ontology Trong khi đó, OntoEdit [24] là một môi trường hỗ trợ phát triển Ontology một cách cộng tác.
Nhiều khía cạnh của công nghệ Ontology được kết hợp để cho phép người dùng phát triển Ontology một cách hiệu quả Nghiên cứu của Kaon nhấn mạnh những thay đổi trong Ontology có thể dẫn đến mâu thuẫn và đề xuất các chiến lược hòa giải nhằm duy trì sự nhất quán Hầu hết các nghiên cứu ban đầu về hợp tác phát triển Ontology đều đồng thuận với bốn giai đoạn tiếp cận khác nhau.
Trong giai đoạn chuẩn bị, cần xác định các tiêu chuẩn thiết kế Ontology, tiêu chuẩn hợp tác phát triển Ontology và tiêu chuẩn đánh giá sự thành công của quá trình phát triển Ontology.
Giai đoạn phát triển ban đầu bao gồm việc tạo ra các phiên bản đầu tiên của ontologies theo tiêu chuẩn thiết kế Tiếp theo, trong giai đoạn phát triển và nâng cấp, các ontologies được cải tiến và thống nhất quan điểm thông qua kỹ thuật hợp tác Sự hợp tác giữa các thành viên tham gia giúp sửa đổi và phát triển cấu trúc của ontology Mỗi lần cải tiến lặp lại, ontology sẽ được đánh giá dựa trên các tiêu chuẩn và điều kiện đã thiết lập trong giai đoạn chuẩn bị.
Giai đoạn ứng dụng: là giai đoạn chứng minh việc sử dụng các hợp tác Ontology bằng cách áp dụng nó trong nhiều cách khác nhau
Hướng phát triển hệ tri thức Ontology đang thu hút sự chú ý, tuy nhiên, các phương pháp hiện tại vẫn chưa được cụ thể hóa trong ứng dụng thực tiễn Các phương pháp cộng tác chủ yếu dựa vào sự can thiệp của người thiết kế Ontology, thiếu đi cơ chế tự động hóa để theo dõi và quản lý các thay đổi giữa các phiên bản Ontology Cần có giải pháp để xác định xung đột giữa các phiên bản, xây dựng Ontology tối ưu nhất và hòa giải các phiên bản xung đột, đồng thời đề xuất cách sửa chữa các lỗi hay xung đột đã được phát hiện Đề tài này sẽ áp dụng phương pháp tự động hóa để thực hiện các nhiệm vụ trên nhằm xây dựng Ontology hiệu quả hơn.
2.1.2 Phương pháp cộng tác xây dựng ontology bệnh
Dựa trên phương pháp cộng tác Delphi và đồng thuận nhóm, chúng tôi đề xuất một phương pháp cộng tác để xây dựng Ontology bệnh Phương pháp này đã được nghiên cứu trước đây và được tóm tắt như sau:
Quá trình xây dựng Ontology gồm bốn giai đoạn như sau:
Giai đoạn 1- Chuẩn bị: Ontology bệnh được thiết kế bán tự động dựa vào
DO và các tài liệu về bệnh Trong giai đoạn này, ontology bệnh được giới thiệu cho các chuyên gia, người tham gia tinh chế lại ontology
Giai đoạn 2 - Đóng góp: Giai đoạn này cho phép các thành viên tham gia đóng góp và cho ý kiến về phiên bản hiện tại của ontology
Giai đoạn 3 - Theo dõi các thay đổi và xung đột: Tiến hành thu thập phản hồi từ người tham gia để phân tích ý kiến và điều chỉnh ontology Đồng thời, xác định các xung đột giữa các quan điểm của các thành viên tham gia nhằm cải thiện quy trình.
Giai đoạn 4 - Kiểm soát thông tin phản hồi yêu cầu sự đồng thuận từ các thành viên Nếu chưa đạt được sự đồng thuận, ý kiến sẽ được tổng hợp và gửi đến các thành viên đánh giá Giai đoạn 2 sẽ được lặp lại cho đến khi đạt được sự đồng thuận cuối cùng.
Cụ thể quá trình xây dựng Ontology bệnh được thể hiện qua 4 giai đoạn trên như sau:
Giai đoạn 1- Chuẩn bị: a Lựa chọn disease ontology
Ontology dịch bệnh (Disease Ontology - DO) là một hệ thống ngữ nghĩa tích hợp các loại bệnh và từ vựng y tế, được xây dựng từ nhiều kho dữ liệu như DO, MeSH, ICD, NCI, SNOMED và OMIM Hệ thống này được phát triển nhờ sự hợp tác của các nhà nghiên cứu từ Đại học Northwestern, Trung tâm Y học Di truyền và Đại học Y học Maryland Phiên bản đầu tiên của DO được khởi tạo vào năm 2003, sử dụng ICD 9, và đã được cập nhật để phù hợp với các khái niệm trong hệ thống bệnh.
UMLS hiện đang được phát triển và mở rộng với nhiều khái niệm bệnh mới, mỗi loại bệnh được mô tả bởi các thông tin liên quan như định nghĩa, khái niệm, dịch tể, yếu tố nguy cơ, nguyên nhân, tiền căn, dấu hiệu nhận biết và triệu chứng Cơ sở dữ liệu DO, với nhiều ưu điểm và tiện lợi, đã được Việt hoá để phục vụ cho việc tra cứu trong ứng dụng web tìm kiếm tương tác thông minh Ontology dịch bệnh được coi là tiêu chuẩn cho việc tra cứu các dịch bệnh của con người, nhằm cung cấp cho cộng đồng y sinh các đặc điểm mô tả dịch bệnh một cách nhất quán, có khả năng tái sử dụng và bền vững.
Cung cấp cho người dân một cơ sở dữ liệu để tra cứu bệnh tật khi chưa có điều kiện thăm khám bác sĩ
Figure 2.1 illustrates the general structure of a Disease Ontology (DO) Each disease is categorized within a specific group and includes attributes such as disease name (label), disease code (id), definition, has_obo_namespace, has_exact_synonym, and database cross-reference The definition attribute encompasses several sub-properties.
Phức_tạp_bởi (complicated_by),
Có_nguồn_góc_từ (derives_from),
Vật_gây_bệnh (has_material_basis_in),
Có_triệu_chứng (has_symptom),
Kế_thừa_từ (inheres_in),
Lưu_trú_tại (located_in),
Xảy_ra_với (occurs_with),
Một_phần_của (part_of),
Nhận_ra_bởi (realized_by),
Kết_quả_của (results_in),
Dẫn_đến_hình_thành (results_in_formation_of),
Bị_lây_truyền_bởi (transmitted_by)
Hình 2.1: Cấu trúc của DO b Dịch tự động bằng dịch vụ google translation
Mục tiêu của Google Dịch là tối ưu hóa quá trình dịch tự động, nhằm theo kịp sự phát triển liên tục của các phiên bản ontology, đồng thời cập nhật và điều chỉnh các khái niệm về bệnh tật theo thời gian.
Dữ liệu được trích xuất từ Ontology và sau đó được đưa vào hàm Translate để thực hiện dịch tự động Sau khi hoàn tất, dữ liệu bệnh bằng tiếng Việt sẽ được lưu trữ trong SQL Server, phục vụ cho quá trình phân tích sau này.
Nội dung 2: Thu thập ít nhất 1000 báo cáo, thống kê, tài liệu bệnh từ Sở Y tế, các cơ sở y tế, thư viện của các trường đại học chuyên về ngành y dƣợc, các tài liệu này đƣợc phân loại dựa trên
từ Sở Y tế, các cơ sở y tế, thư viện của các trường đại học chuyên về ngành y dƣợc, các tài liệu này đƣợc phân loại dựa trên ontology bệnh
Các tài liệu về dịch bệnh được thu thập từ các thư viện uy tín và trường đại học y danh tiếng tại thành phố Hồ Chí Minh, bao gồm thư viện tổng hợp thành phố Hồ Chí Minh, thư viện đại học Y Dược và thư viện đại học Y Phạm Ngọc Thạch Do tài liệu chỉ có bản in giấy và không có file mềm, thông tin về bệnh tật từ những nguồn này được thu thập một cách cẩn thận.
Sử dụng máy scan chất lượng cao giúp chuyển đổi nội dung từ bản in giấy sang file mềm Sau khi có file mềm, cần kiểm tra kỹ lưỡng các lỗi chính tả, cấu trúc và xuống dòng do quá trình scan gây ra Công việc này phải được thực hiện thủ công một cách tỉ mỉ, vì bất kỳ sai sót nào cũng có thể ảnh hưởng đến cơ sở dữ liệu và kết quả truy vấn trên Ontology Do đó, thời gian và công sức dành cho việc này là rất đáng kể.
Cơ sở dữ liệu hiện có hơn 6000 khái niệm bệnh đã được Việt hóa, cung cấp thông tin quý giá cho việc xử lý truy vấn và tìm kiếm thông tin về hơn 300 bệnh tật đã đăng ký Danh sách các bệnh tật này được nhóm nghiên cứu cập nhật và mô tả trong các file excel, có sẵn trong hồ sơ minh chứng (xem hình 2.23).
Hình 2.23 Miêu tả thông tin một số thuộc tính trong file excel dữ liệu
Hình 2.24 Hơn 3000 bệnh thu thập từ sở y tế
Theo phân loại ICD về dịch bệnh, ICD 10 đã cải tiến so với ICD 9 nhưng vẫn chưa đủ linh hoạt cho các truy vấn phức tạp, với số lượng tập con mở rộng bị giới hạn Để khắc phục điều này, cơ sở dữ liệu từ trang http://disease-ontology.org/ được sử dụng để xây dựng hệ tri thức bệnh tật, cho phép chứa nhiều liên kết đến các nguồn thông tin tin cậy và mã ICD của nhiều phiên bản khác nhau Ví dụ, bệnh malignant hyperthermia có mã ICD9 và ICD10, cùng với mã của các hệ thống phân loại khác Cơ chế lưu trữ trong Ontology rất linh hoạt, giúp dễ dàng quản lý và truy xuất thông tin theo yêu cầu người dùng Vì vậy, thiết kế công cụ tìm kiếm thông minh dựa trên cấu trúc Ontology là lựa chọn hợp lý để nâng cao hiệu quả công việc.
Nội dung 3: Xây dựng phương pháp tương tác thông minh điều hướng luồng tìm kiếm, giúp người dùng tìm đến thông tin
2.3.1 Khái quát một số khái niệm sử dụng trong tương tác thông minh
Tương tác thông minh giữa người dùng và hệ thống tìm kiếm cho phép người dùng cung cấp các trạng thái cơ bản của đối tượng cần tìm, trong khi hệ thống gợi ý các trạng thái ẩn mà người dùng chưa xác định Dựa vào phản hồi của người dùng, hệ thống điều hướng luồng tìm kiếm đến thông tin cần thiết một cách nhanh chóng và chính xác hơn so với phương pháp tìm kiếm truyền thống Ví dụ, khi tìm kiếm thông tin về bệnh, người dùng chỉ biết các triệu chứng cơ bản, hệ thống sẽ đưa ra các triệu chứng khác dựa trên tri thức đã được khai thác, từ đó giúp người dùng xác định chính xác tài liệu bệnh hoặc cơ sở y tế liên quan.
Hình 2.25 Hệ thống gợi ý từ khóa
Bệnh thường gặp là danh sách các bệnh được các cơ sở y tế công nhận hoặc dựa trên thống kê hàng năm từ sở y tế để xác định.
Bên cạnh đó dựa vào Goole thực hiện 2 bước sau để tìm ra các bệnh thường gặp
Để tìm kiếm thông tin về các bệnh, bạn hãy nhập từ khóa "bệnh" vào Google Search và thực hiện tìm kiếm chính xác theo từ khóa Dựa vào số lượng kết quả trả về, bạn có thể xác định 300 bệnh phổ biến được đề cập nhiều trong các tài liệu.
Hình 2.26 Công cụ search Google tự động
(2) Dựa vào Google Key Word Tool, tìm ra 300 bệnh được nhiều người search nhất
Dựa vào số liệu của (1) và (2) tìm ra bệnh thường gặp
Kết quả là tìm được 300 bệnh phổ biến theo 2 tiêu chí trên
Hình 2.27 Kết quả 300 bệnh thường gặp
Thông tin về bệnh bao gồm các yếu tố liên quan đến sự hình thành của bệnh, như dịch tễ học, các yếu tố nguy cơ, nguyên nhân, tiền sử bệnh, dấu hiệu nhận biết và triệu chứng.
Thông tin chính thống về bệnh được cung cấp bởi Sở Y tế, các cơ sở y tế, và các thư viện của các trường đại học có đào tạo về y học, đảm bảo độ tin cậy và chính xác cho người đọc.
Ontology: là cơ sở tri thức gồm các khái niệm được mô tả bởi các thuộc tính, ràng buộc và mối quan hệ giữa các khái niệm trong đó
2.3.2 Hướng luồng tìm kiếm sử dụng luật kết hợp
Hệ thống hiện tại có ít người dùng và sự tương tác chưa cao, vì vậy dự kiến sẽ áp dụng luật kết hợp để hướng dẫn tìm kiếm và gợi ý các triệu chứng bệnh tiếp theo dựa trên những triệu chứng cơ bản mà người dùng đã cung cấp Để thực hiện điều này, cần khai thác các luật kết hợp giữa các tập triệu chứng bệnh Sử dụng "độ phổ biến - support" và "độ chắc chắn - confidence" sẽ giúp đề xuất cho người dùng những triệu chứng bệnh tiếp theo từ triệu chứng ban đầu đã được cung cấp hoặc phản hồi.
Nhật xét: Một bệnh có nhiều triệu chứng
Một triệu chứng xuất hiện ở nhiều bệnh khác nhau
Các triệu chứng có mối quan hệ kết hợp, một số triệu chứng cùng xuất hiện trong cùng một bệnh
- Mỗi bệnh có chứa một tập tập các triệu chứng T i (tập triệu chứng)
- Một tập triệu chứng bao gồm các triệu chứng khác nhau
Tìm tập các triệu chứng thường xuyên xuất hiện cùng nhau trong một bệnh, tính tương quan, tính kết hợp giữa các tập triệu chứng
Vì vậy ta cần tìm luật kết hợp X → Y, trong đó X và Y là tập hợp các triệu chứng
Tập X bao gồm các triệu chứng cơ bản mà người dùng cung cấp hoặc phản hồi khi hệ thống gợi ý Tập Y là các triệu chứng mà hệ thống đề xuất cho người dùng lựa chọn, nhằm định hướng tìm kiếm đến tài liệu bệnh tương ứng Việc theo dõi số lượng truy cập của người dùng vào hệ thống giúp phát hiện sự bùng phát của dịch bệnh hoặc các bệnh lây lan nhanh, từ đó đưa ra các khuyến nghị đặc biệt cho người tìm kiếm.
2.3.3 Các phương pháp khác Ở đây sử dụng các phương pháp phân tích ngôn ngữ tự nhiên, phương pháp truy hồi thông tin để xây dựng hệ thống tra cứu tương tác thông minh Đặc biệt trong đề tài này, phương pháp thu thập dữ liệu là một nội dung rất quan trọng Chỉ khai thác dữ liệu từ các tổ chức có thẩm quyền, có kiểm duyệt thông tin về bệnh, như Sở y tế HCM, các cơ sở y tế, các thư viện trường Đại học chuyên ngành y, dược
2.3.4 Hiện thực nội dung công việc
Cơ sở dữ liệu bệnh được xây dựng từ ontology bệnh, sử dụng ngôn ngữ truy vấn ngữ nghĩa Luật kết hợp dựa trên thuật toán Priori được áp dụng để khai thác dữ liệu bệnh, nhằm nâng cao sự tương tác giữa người dùng và hệ thống Hình 2.28 mô tả kiến trúc hệ thống cây phân cấp dữ liệu các căn bệnh.
Hình 2.28 Kiến trúc hệ thống cây phân cấp dữ liệu các căn bệnh
Ontology bệnh có nhiều cấp độ, bao gồm cả lớp con và lớp cha, trong đó mỗi lớp có thể đại diện cho một căn bệnh Ví dụ, "Bệnh truyền nhiễm" là một căn bệnh với nhiều cấp phân lớp, trong khi "Bệnh nhiễm khuẩn làm nấm" là lớp con của nó Các bệnh như "Bệnh nấm da" và "Bệnh nấm ngoài da" cũng thuộc cấp độ con của "Bệnh truyền nhiễm" Đặc biệt, "Bệnh nấm da chân tay" là một căn bệnh không có phân lớp.
Như đã đề cập ở chương I, hướng tiếp cận được chia làm ba giai đoạn như sau:
Trích xuất ontology dịch bệnh
Công cụ tìm kiếm ngữ nghĩa cho phép thực hiện các truy vấn trên Ontology thông qua cú pháp truy vấn ngữ nghĩa, nhằm truy cập và khai thác thông tin từ Ontology một cách hiệu quả.
Người dùng thường sử dụng các truy vấn ngôn ngữ tự nhiên thay vì truy vấn ngữ nghĩa do sự phức tạp của kiến thức cần thiết Gần đây, đã xuất hiện một số cơ chế chuyển đổi ngôn ngữ tự nhiên thành truy vấn ngữ nghĩa Chẳng hạn, QUICK search tạo ra một không gian truy vấn hoàn toàn ngữ nghĩa bằng cách xác định tất cả các câu truy vấn khả thi từ một tập hợp từ khóa, sau đó liên kết chúng để tạo ra các truy vấn ngữ nghĩa.
Sử dụng phương pháp tiếp cận khác, các thể hiện, khái niệm và thuộc tính được xác định từ các từ khóa tìm kiếm và kết hợp lại để tạo ra các truy vấn chính xác Tuy nhiên, việc xử lý các câu truy vấn ngôn ngữ tự nhiên phức tạp do SemSearch tạo ra có thể tốn thời gian do số lượng lớn các sự kết hợp thực thể Để khắc phục vấn đề này, cần trích xuất tất cả các định nghĩa, tính chất và mối quan hệ từ ontology bệnh và đưa vào cơ sở dữ liệu MySQL Nhờ đó, chương trình sẽ hoạt động nhanh và linh hoạt hơn khi truy cập cơ sở dữ liệu với các truy vấn theo cấu trúc MySQL.
Framework Jena được sử dụng để trích xuất dữ liệu từ Ontology bệnh, cung cấp môi trường lập trình cho các mô hình dữ liệu như RDF, RDFS và OWL Ngôn ngữ SPARQL cho phép truy xuất và thao tác dữ liệu lưu trữ dưới định dạng RDF và OWL, hỗ trợ câu truy vấn ở dạng mô hình ba thành phần, kết nối và chia tách các truy vấn.
49 các mẫu tùy chọn [47] Quy trình khai thác trích xuất bệnh được minh họa theo mô hình dưới đây (Hình 2.29)
Hình 2.29 Quy trình khai thác trích xuất bệnh dựa trên Ontology
Tất cả các bệnh cùng với các lớp con và lớp cha của chúng được trích xuất từ Ontology và được lưu trữ trong bảng "DiseaseIndex" và "DiseaseHierarchy" Bảng "DiseaseIndex" chứa thông tin về "DiseaseId" và "DiseaseLabel".
"DiseaseHierarchy" bao gồm "DiseaseId" và "SuperDiseaseId", đây là lớp cha của "DiseaseId" hoặc chúng ta có thể nói "DiseaseId" là một lớp con của
Nội dung 4: Hệ thống tương tác thông minh tra cứ/tìm kiếm thông tin bệnh thường gặp
2.4.1 Giới thiệu tổng quan về “Smart Doctor”
Ứng dụng “Smart Doctor” là một công cụ tìm kiếm bệnh thông minh, giúp người dùng xác định bệnh dựa trên triệu chứng Ngoài ra, ứng dụng còn cung cấp thông tin chi tiết về các bệnh lý, được tổng hợp từ nhiều nguồn và được kiểm duyệt bởi các chuyên gia y tế.
Mục tiêu của “Smart Doctor”
“Smart Doctor” giúp người dùng tiết kiệm thời gian và công sức trong việc tìm kiếm thông tin về bệnh, cung cấp các dữ liệu cần thiết để họ sớm nhận biết tình trạng sức khỏe và có những biện pháp can thiệp phù hợp.
Mục đích của tài liệu
The document presents the Architectural Design Description of the "Smart Doctor" application, detailing both the overall and specific design aspects of its key components.
Cấu trúc khung của ứng dụng
Sơ đồ bên dưới mô tả những thành phần và mối quan hệ của chúng trong hệ thống:
Hình 2.35 Cấu trúc khung của ứng dụng Bảng diễn giải những thành phần trong cấu trúc:
STT Thành phần Diễn giãi Nguồn tham khảo
Ontology Được phát triển theo chuẩn bản thể học (Ontology) của những bệnh trên người http://disease-ontology.org/
Công cụ dùng để trích xuất dữ liệu bệnh trong bản thể
STT Thành phần Diễn giãi Nguồn tham khảo học về bệnh (Disease Ontology) sang cơ sở dữ liệu quan hệ
Công cụ khai thác mối quan hệ giữa các triệu chứng bệnh trong cơ sở dữ liệu sử dụng thư viện JENA NET, giúp tối ưu hóa việc phân tích và quản lý thông tin y tế.
Là cơ sở dữ liệu quan hệ, chưa thông tin bệnh
5 Common Chứa những thực thể, phương thức chung được sử dùng ở những thành phần khác
Chứa những mô hình thực thể của những bảng dữ liệu trong cơ sỡ dữ liệu bệnh Công nghệ: https://www.asp.net/entity- framework
STT Thành phần Diễn giãi Nguồn tham khảo
Tầng truy xuất cơ sở dữ liệu (thêm, xóa, sửa)
8 Repository Chứa những câu truy vấn phức tạp
9 Service Hiện thức hóa quy trình nghiệp vụ
10 REST APIs Cung cấp những phương thức truy vấn dữ liệu của hệ thống thông qua URI cho nhưng hệ thống khác https://www.asp.net/web-api
(SPA) Ứng dụng website trên một trang với mục tiêu đưa trải nghiệm người dùng trên web như ứng dụng trên máy tính
Angular.js https://angularjs.org/
Bảng 2.1 Cấu trúc của ứng dụng
Ontology dịch bệnh (Disease Ontology) được phát triển như một chuẩn thể học cho bệnh nhân, nhằm cung cấp tài liệu bền vững, tái sử dụng về bệnh con người Dự án này là kết quả của sự hợp tác giữa các nhà nghiên cứu tại Đại học Northwestern, trung tâm y học di truyền và Đại học Maryland School of Medicine, Viện Khoa học Di truyền, với mục tiêu cung cấp thông tin chính xác về đặc điểm kiểu hình và khái niệm bệnh từ vựng y tế liên quan.
Ví dụ thông tin bệnh trong Disease Ontology:
Hình 2.36 Mẫu ví dụ về một bệnh trong Disease Ontology
Lƣợc đồ cơ sở dữ liệu dịch bệnh
Cấu trúc cơ sở dữ liệu
Hình 2.37 Cấu trúc cơ sở dữ liệu bệnh
Disease Chứa thông tin bệnh được trích xuất từ Disease Ontology, như: + Bệnh cha (DiseaseParentId) + Tên bệnh trong tiếng anh (LabelEn)
+ Tên bệnh trong tiếng việt (LabelVn)
DiseasePropertyCaterogies Chứa những loại tính chất của bệnh, như:
Phức tạp do (complicated by) Gồm (composed of)
Xuất phát từ (derives from)
Có cơ sở vật chất (has material basis in)
Có triệu chứng (has symptom) Thuộc về (inheres in)
Xảy ra với (occurs with)
Một phần của (part of)
Thực hiện bởi (realized by)
Thực hiện bởi loại bỏ với
(realized by suppression with) Kết quả trong (results in)
Kết quả trong sự hình thành của (results in formation of)
Truyền qua (transmitted by) DiseaseProperty Chứa những tính chất của bệnh, như:
(DiseasePropertyId) + Tên tính chất bệnh trong tiếng anh (LabelEn)
+ Tên tính chất bệnh trong tiếng việt (LabelVn)
DiseaseProperties Chứa mối quan hệ giữa bệnh và tính chất của bệnh
DiseasePropertyFrequentItemset Chứa thông tin những tính chất
Bảng Mô tả bệnh thường xuyên xuất hiện cùng nhau
Chứa thông tin của những luật quan hệ của những tính chất bệnh, như:
+ Độ hỗ trợ của luật (Support) + Độ tinh cậy của lật (Confident) DiseasePropertyFrequentAssociation
+ Có liên kết với bảng
“DiseasePropertyFrequentAssociati onRule” và thể hiện những tính chất bệnh trong từng luật
Bảng 2.2 Thông tin cơ sở dữ liệu
Công cụ trích xuất dữ liệu
Dựa vào cấu trúc thông tin với định dang XML của bệnh trong “Disease Ontology”, công cụ “Extraction data tool” mô hình hóa cấu trúc dữ liệu của
“Disease Ontology” thành những lớp trong ngôn ngữ lập trình, và trích xuất dữ liệu đưa vào cơ sỡ dữ liệu bệnh (Disease schema) the những phương pháp sau:
Phương pháp rút thông tin bệnh:
Hình 2.38 Mẫu dữ liệu bệnh trong Disease Ontology
• Dữ liệu được chứa vào cột [DiseaseId] của bảng [Disease]
• Dữ liệu được rút từ tag “”, ví dụ từ mẫu trong Hình 2.6:
• Dữ liệu được chứa vào cột [LabelEn] của bảng [Disease]
• Dữ liệu được rút từ tag “”, ví dụ từ mẫu trong Hình 2.6:
seminal vesicle acute gonorrhea
=> [LabelEn] = “seminal vesicle acute gonorrhea”
• Dữ liệu được chứa vào cột [ParentDiseaseId] của bảng [Disease]
• Dữ liệu được rút từ tag “”, ví dụ từ mẫu trong Hình 2.6:
Phương pháp rút loại thuộc tính bệnh:
Hình 2.39 Mẫu dữ liệu loại thuộc tính bệnh trong Disease Ontology
Tên loại thuộc tính bệnh bệnh (tổng cộng 15 loại):
• Dữ liệu được chứa vào cột [LabelEn] của bảng [DiseasePropertyCategory]
• Dữ liệu được rút từ tag “”, ví dụ từ mẫu trong Hình 2.7:
“has_symptom”
=> Rút được [LabelEn] = “has_symptom”
Phương pháp rút dữ liệu tính chất bệnh:
Hình 2.40 Mẫu dữ liệu chứa tính chất bệnh trong Disease Ontology
Tên tính của tính chất bệnh:
• Dữ liệu được chứa vào cột [LabelEn] của bảng [DiseaseProperty]
• Rút dữ liệu tính chất bệnh trong tag “” và
“” Dữ liệu trong những tags này chứa nhiều tính chất bệnh, như:
“A viral infectious disease that results_in infection located_in joint, has_material_basis_in Chikungunya virus, which is transmitted_by Aedes mosquito bite The infection has_symptom fever”
=> Trích xuất được thông tin của tính chất loại: “results_in”,
“has_material_basis_in” , “transmitted_by”, và “has_symptom”
Vì vậy, công cụ này sẽ dùng trích xuất dữ liệu bằng kỷ thuật “regular expression”, theo từng bước như sau:
Bước 1: Chia nhỏ đoạn dữ liệu lớn thành các phần nhỏ, mỗi phần chỉ nên chứa một tính chất riêng của bệnh Ví dụ, có thể phân chia như sau:
“has_material_basis_in Chikungunya virus, which is”
“transmitted_by Aedes mosquito bite The infection”
Bước 2: sử dụng mẫu (pattern) của “regular expression” theo từng loại thuộc tính bệnh để rút chính thông tin, như ví dụ trên thì:
“has_symptom fever” : dùng mẫu của loại “has_symptom” là
“has_symptom (.*)”, và có thể rút ra được dữ liệu “fever”
Bảng dưới đây là những mẫu cho từng loại thuộc tính bênh
Bắt đầu bởi Dùng mẫu (pattern)
Phức tạp do complicated_by @"complicated_by
Gồm composed_of @"composed_of (.*)"
Xuất phát từ derives_from;derive d_from
Bắt đầu bởi Dùng mẫu (pattern)
Có cơ sở vật chất has_material_basis_ in
Có triệu chứng has_symptom @"has_symptom (.*), (.*), (.*),
(.*), and (.*)", has_symptom (.*, and (.* and *)",
Thuộc về inheres_in @"inheres_in (.*)"
Nằm ở located_in @"located_in (.*)"
Xảy ra với occurs_with @"occurs_with (.*)"
Một phần của part_of @"part_of (.*)"
Bắt đầu bởi Dùng mẫu (pattern)
Thực hiện bởi realized_by @"realized_by (.*)"
Thực hiện bởi loại bỏ với realized_by_supress ion_with
Kết quả trong results_in @"results_in (.*)"
Kết quả trong sự hình thành của results_in_formatio n_of; resulting_in_formatio n_of
Truyền qua transmitted_by @"transmitted_by (.*) and (.*)",
@"transmitted_by (.*), (.*), or (.*), or$", @"transmitted_by (.*) or (.*), or$",
@"transmitted_by (.*) or$", @"transmitted_by (.*),$", @"transmitted_by (.*), (.*)", @"transmitted_by (.*)"
Bảng 2.3 Thông tin thuộc tính bệnh
Phương pháp dịch dữ liệu sang tiếng việt:
Hệ thống hổ trợ phương thức dịch từ ngữ từ tiếng anh tiếng việt, thông qua
Hình 2.41 Phương thức dịch ngôn ngữ
Dữ liệu sau khi được dịch sẽ được lưu vào cột “LabelVn” của những bảng như: “Disease”, “DiseaseProperty”, “DiseasePropertyCategory”
Kết quả trích xuất dữ liệu từ Disease Ontology
Bệnh: có 6124 bệnh trong bảng “Disease”
Hình 2.42 Mẫu dữ liệu trong bảng “Disease”
Loại thuộc tính bệnh: có 15 loại tính chất bệnh trong
Hình 2.43 Mẫu dữ liệu trong bảng “DiseasePropertyCategories”
Thuộc tính bệnh: có 2246 thuộc tính bệnh trong bảng “DiseaseProperty”
Hình 2.44 Mẫu dữ liệu trong bảng "DiseaseProperty"
Dựa vào dữ liệu từ trích xuất từ “Disease Ontology”, thì những tính chất của bệnh có mỗi quan hệ với nhau, ví dụ:
Hình 2.45 Mẫu dữ liệu bệnh trong CSDL Trong 2 bệnh nêu trên có những tính chất bệnh cùng xuất hiện ở hai bênh như: sốt (fever), đau đầu (headache), v.…
Có thể áp dụng các thuật toán machine learning, chẳng hạn như thuật toán Luật kết hợp, để khám phá mối quan hệ giữa các tính chất bệnh Cụ thể, công cụ này sử dụng các phương thức từ thư viện JENA NET để phát hiện các quy luật liên quan, và kết quả thu được rất đáng chú ý.
Hình 2.46 Khám phá 350.546 luật liên kết của tính chất bệnh
Hình 2.47 Mẫu dữ liệu về một luật liên kết
Theo hình bên trên, thì ta thông tin luật với mã số (ID) = 2 là:
{fever, vomiting, water contaminated with feces, muschle spasams} =>
{direct contract with the oral secretions, ingestion of food, human poliovirus 3}
Chứa những thực thể/phương thức chung được dùng trong hệ thống, như
• Thực thể chứa thông tin để chuyển qua mạng (data transfer object), nhằm làm giảm lượng dự liệu được truyền qua mạng, tăng tốc độ xử lý
Hình 2.48 Lớp trao đổi dữ liệu của bệnh
• Những phương thức hổ trợ (helpers), như: xử lý chuỗi, xử lý thực thể
Hình 2.49 Lớp hỗ trợ xử lý chuỗi (Stringhelper)
Mô hình thực thể trong cơ sở dữ liệu
Mô hình thực thể của những bảng dữ liệu trong cơ sỡ dữ liệu bệnh
Hình 2.50 Mô hình thục thể của bảng "DiseaseProperty"
Hình 2.51 Cấu hình cho đối tượng "DiseaseProperty” và bảng
Lớp truy xuất dữ liệu
Lớp cung cấp phương thức truy xuất cơ sở dữ liệu:
Hình 2.52 Giao tiếp truy xuất dữ liệu của những POCO
Tầng chứa những câu truy vấn phức tạp sử dụng “Lambda expression”
Hình 2.53 Ví dụ về câu truy vấn bệnh
Lớp nghiệp vụ của hệ thống
Tầng hiện thực những nghiệp vụ của hệ thống
Hình 2.54 Lớp hiện thực phương thức nghiệp vụ của bệnh
Các hàm truy vấn dữ liệu - REST APIs
Cung cấp những phương thức truy vấn dữ liệu của hệ thống thông qua URI cho những hệ thống khách:
Gợi ý từ khóa tìm kiếm
Hình 2.56 Autocomplete trong khung tìm kiếm
Hệ thống này cung cấp tính năng gợi ý đề nghị để tăng tính tương tác giữa người sử dụng và hệ thống, trong một số tình huống dưới đây:
Khi người dùng nhập một số ký tự vào ô tìm kiếm, hệ thống sẽ tự động gợi ý các truy vấn bắt đầu bằng những ký tự đó, giúp người sử dụng tìm kiếm thông tin nhanh chóng và hiệu quả hơn.
Người dùng có thể nhanh chóng hoàn thành các truy vấn bằng cách chọn câu hỏi từ gợi ý và sử dụng tiêu chí tìm kiếm chính xác hơn thông qua gợi ý chính tả Khi chỉ cần nhớ một từ khóa, người dùng có thể nhập vào ô tìm kiếm, hệ thống sẽ đề xuất các truy vấn liên quan Điều này giúp người dùng dễ dàng lựa chọn các truy vấn phù hợp với ý định của họ mà không cần phải nhớ toàn bộ nội dung truy vấn.
Đề nghị gợi ý không chỉ hỗ trợ người dùng trong việc lựa chọn các truy vấn chính xác theo ý định của họ, mà còn giúp họ tiếp cận các truy vấn thuộc từ điển của hệ thống Điều này sẽ nâng cao sự tự tin của người dùng trong việc tìm kiếm và mang lại kết quả tìm kiếm chính xác hơn.
Gợi ý từ khóa liên quan
Hình 2.57 Gợi ý từ khóa liên quan trong khung tìm kiếm
Hệ thống cung cấp tính năng đề xuất, giúp người dùng nhận diện các triệu chứng liên quan đến bệnh khác Ví dụ, khi người dùng tìm kiếm các từ khóa như "sốt cao" và "đau đầu", hệ thống sẽ tự động gợi ý các từ khóa tiếp theo để hỗ trợ quá trình tìm kiếm.
Bài viết này giới thiệu các triệu chứng liên quan đến "co giật" Những triệu chứng này được khám phá dựa trên các quy tắc quan hệ, và được sắp xếp theo thứ tự từ trên xuống dưới dựa trên mức độ tự tin của các quy tắc liên quan.
Hình 2.58 Gợi ý các từ khóa có liên quan
Tìm kiếm kết quả bệnh
Khi người dùng tiến hành tìm kiếm, hệ thống sẽ xác định bệnh tương ứng dựa trên các thuộc tính mà người dùng đã nhập, từ đó cung cấp các lựa chọn kết quả tìm kiếm phù hợp.
Hệ thống dữ liệu lựa chọn các bệnh dựa trên thuộc tính tìm kiếm, sắp xếp theo số lượng xem và đánh giá Nội dung thông tin về các bệnh này được cung cấp từ các tài liệu có sẵn trong hệ thống.
Hệ thống sẽ tìm kiếm dữ liệu bên ngoài cho mỗi bệnh bằng cách sử dụng tên bệnh làm từ khóa trên Google, sau đó lấy ba kết quả hàng đầu được đánh giá cao để gợi ý cho người dùng.
Hiển thị kết quả tìm kiếm (mình chƣa thực hiện phần này)
Kết quả hiện thị từng khối cho mỗi bệnh, và được sắp xếp từ trái sang phải, từ trên xuống dưới Mỗi khối bệnh được hiện thị như sau:
Hình 2.59: Hiển thị kết quả tìm kiếm bệnh
• Phần trên hiển thị ảnh đại diện của bệnh
• Phần giữa hiển thị tên bệnh, và số lượng người xem bệnh này
• Phần cuối hiện đánh giá của người dung về nội dung bệnh
Hiển thị thông tin bệnh