Tính cấp thiết của đề tài: Hiện nay trong ngành Y đặc biệt là chuyên ngành Y học cô truyền, với thông tin bệnh va bai thuốc YHCT 1a vô cùng lớn, việc sau chan đoán là đưa ra các bài thuố
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
UNG DUNG CONG NGHE SEMANTIC WEB DE XAY DUNG
HE THONG TRA CUU THONG TIN BAI THUOC Y HOC CO TRUYEN
Chuyén nganh: KHOA HOC MAY TINH
Mã số: 60.48.01.01
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
HÀ NỘI - 2015
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: PGS.TS Lê Hữu Lập
Phản biện 1: TS Phan Xuân Hiếu
Phản biện 2: TS Hoàng Lê Minh
Luận văn sẽ được bảo vệ trước Hội đông châm luận văn thạc sĩ tại Học viện
Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm 2015.
Có thé tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông.
Trang 3MỞ ĐẦU
1 Tính cấp thiết của đề tài:
Hiện nay trong ngành Y đặc biệt là chuyên ngành Y học cô truyền, với thông
tin bệnh va bai thuốc YHCT 1a vô cùng lớn, việc sau chan đoán là đưa ra các bài
thuốc tốt, đạt hiệu quả điều trị cao cho bệnh nhân là một van dé hết sức quan trọng
Muốn vậy, họ phải tìm hiểu kỹ thông tin bệnh nhân, tìm hiểu các bài thuốc cô
phương, các bai thuốc kinh nghiệm để ra đơn thuốc cho bệnh nhân, việc tìm kiếm
thông tin bài thuốc cho điều trị gặp phải rất nhiều khó khăn một vấn đề được đặt ra
làm sao tìm kiếm được thông tin bài thuốc một cach dé dàng nhanh chóng và chínhxác ngay cả khi các bác sĩ quên tên bài thuốc Hiện nay cũng có một số hệ thông
cũng hỗ trợ tra cứu và tìm kiếm xong kết quả trả về chưa được chính xác thông tin
chưa có tính chọn lọc Vì vậy việc xây dựng một công cụ hỗ trợ tìm kiếm mức caohơn dé trợ giúp các bác sĩ YHCT có thể tham khảo, sử dụng góp phan nâng cao chất
lượng khám và điều trị là điều cần thiết Qua việc tìm hiểu về công nghệ Semantic
Web tôi chọn dé tai: “Ứng dụng công nghệ Semantic Web để xây dựng hệ thốngtra cứu thông tin bài thuốc YHCT”
z RK À ^A r
2 Tông quan về vân đề nghiên cứu:
Hiện tại trong nước và trên thé giới đã có rất nhiều nhà nghiên cứu khoa học,nhiều công ty đã và đang nghiên cứu, phát triển các ứng dụng dựa trên nền tảngcông nghệ Semantic Web trên nhiều lĩnh vực Tuy nhiên với lĩnh vực Y học cô
truyền thì chưa có một đề tài ứng dụng công nghệ Semantic web Ở Việt Nam nền
YHCT phát triển rất mạnh mẽ, với hàng nghìn bài thuốc cô phương, bai thuốc gia
truyền được truyền từ nhiều đời, YHCT có vai trò và tiềm năng to lớn trong sự
nghiệp chăm sóc và bảo vệ sức khoẻ nhân dân trong suốt hàng ngàn năm đấu tranh
dựng nước và giữ nước Trong nhiều năm qua Đảng và Nhà nước đã có các Nghị
quyết, Chi thị chỉ đạo ngành y tế phối hợp với các ngành, các té chức xã hội nghiêncứu kế thừa, bảo tồn và phát triển YHCT, kết hợp YHCT với YHHĐ nhằm xây
dựng nền Y Dược học Việt Nam hiện đại, khoa học, dân tộc và đại chúng Tổ chức
kế thừa được nhiều bài thuốc hay, cây thuốc quý của các lương y trên mọi miền đất
nước đã sưu tầm và lưu lại hàng ngàn cây thuốc, bài thuốc kinh nghiệm của đồng
Trang 4bào các dân tộc ít người; tổ chức nghiên cứu ứng dụng và nghiên cứu kết hợp, từngbước phát huy được tiềm năng của YHCT.
3 Mục đích nghiên cứu:
Nghiên cứu công nghệ Semantic Web, tìm hiểu hướng phát triển một ứngdụng sử dụng công nghệ Semantic Web Từ đó phát triển ứng dụng tra cứu thôngtin bài thuốc YHCT
4 Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Semantic Web, phương pháp xây dựng và lưu trữ
dữ liệu trong Semantic Web, các công cụ dé xây dựng Semantic Web, các ngôn ngữ
lập trình, các gói thư viện mở rộng, cấu trúc thông tin của bệnh học và bài thuốc
YHCT.
- Phạm vi nghiên cứu:
+ Xây dựng bộ từ vựng Ontology về bệnh học và bài thuốc YHCT
+ Xây dựng ứng dụng dé tra cứu thông tin bệnh và bài thuốc YHCT
trên cơ sở bộ từ vựng đã tạo.
+ Đề tài sử dung nguồn csdl bài thuốc và bệnh sẵn có
5 Phương pháp nghiên cứu:
- Phương pháp nghiên cứu lý thuyết:
+ Nghiên cứu tài liệu, công cụ và công nghệ liên quan.
+ Tổng hợp các tài liệu, dữ liệu
Trang 51.1 Khái niệm Semantic Web
1.1.1 Sự tiến hóa web
Thế hệ Web 1.0 ra đời năm 1997 bởi chính cha đẻ của World Wide Web
(WWW) là Tim Berners-Lee.-Lee định nghĩa Web 1.0 là cấu trúc thông tin chỉ cóthé dé đọc
Web 2.0 chính thức được định nghĩa bởi Dale Dougherty trong một cuộc hội
thảo tô chức năm 2004 Theo đó, 2.0 là thế hệ Web mới mà người sử dụng vừa cóthé đọc các thông tin hay nội dung, vừa có thé viết hay bổ sung vào đó dé tạo nênnhững thông tin hay nội dung mới.
Giữa lúc Web giao tiếp xã hội 2.0 đang thời kỳ thịnh hành thì những dấu
hiệu của một thế hệ Web mới đã bắt đầu xuất hiện Web semantic đã được
Berners-Lee đưa ra từ trước Nhưng dựa trên những dấu hiệu xuất hiện thực tế này, năm
2006 John Marshoff của tờ New York Times đề nghị gọi đó là thế hệ Web 3.0 hay
Semantic Web.
1.1.2 Khai niệm Semantic Web
Nam 2001, Tim Berners-Lee về Semantic Web : “Semantic Web là một sự
mở rộng của Web hiện tại mà ở đó, thông tin được định nghĩa tốt hơn, giúp máytính và con người có thể làm việc hợp tác với nhau”
Với sự nhìn nhận mới về đữ liệu, chúng ta có một cách nói khác về SemanticWeb: Semantic Web là một Web với dữ liệu thông minh mà máy tính có thê xử lý
W3C cũng dua ra một định nghĩa về Semantic Web: “Semantic Web là một
sự nhìn nhận, đó là ý tưởng về việc dữ liệu trên Web được định nghĩa và sử dụngtheo cách mà nó có thể được sử dụng bởi máy tính không chỉ với mục đích hiển thị
Trang 6mả còn nhằm mục đích tự động phân tích, sử dụng lại dữ liệu qua các ứng dụng
khác”.
1.1.3 Những điểm vượt trội của Semantic Web
1.1.3.1 Máy tính có thé hiểu được thông tin trên Web 1.1.3.2 Thông tin được tìm kiếm nhanh chóng và chính xác hơn 1.1.3.3 Phân tán và liên kết dữ liệu
1.1.3.4 Hỗ trợ công cụ tự động hóa 1.1.3.5 Hỗ trợ các dịch vụ web (web services) 1.2 Kiến trúc Semantic Web
Hiện nay, đã có rất nhiều sơ đồ kiến trúc về Semantic Web khác nhau được
công bó Theo bài thuyết trình của Tim Berners-Lee tại hội thảo AAAI vào tháng 7
năm 2006 thì kiến trúc của Semantic Web được mô tả như sau:
Trang 71.2.1 Lớp URI (Uniform Resource Identifier)
URI là bộ định danh các tài nguyên trên Web Nó là một chuỗi ngăn gon các
kí tự được dùng để định danh một tên hay một tài nguyên
1.2.3 Lớp XML (Extensible Markup Language)
XML là một ngôn ngữ đánh dau, nó được phân loại như một ngôn ngữ mở
rộng vì nó cho phép người dùng định nghĩa các phần tử của riêng họ Mục đích
chính của XML là dé có thé dé dàng chia sẻ dữ liệu có cau trúc cho các hệ thống
thông tin khác nhau, đặc biệt là qua Internet.
1.2.4 Lớp RDF (Resource Description Framework)
RDF được đưa ra bởi W3C, nó được thiết kế như một mô hình siêu dữ liệu
nhưng lại được sử dụng như một phương thức mô hình hóa thông tin qua các định dạng cú pháp khác nhau.
Mô hình siêu dữ liệu của RDF dựa trên ý tưởng của các câu phát biểu về các
tài nguyên trong biéu diễn chủ ngữ (subject) — vị từ (predicate) — đối tượng (object)
1.2.5 Lớp RDF-S (RDF Schema)
RDF Schema được dùng dé định nghĩa các tài nguyên và các thuộc tính, mối
quan hệ giữa các tải nguyên, giữa các thuộc tính và giữa tải nguyên với thuộc tính.
1.2.6 Lớp SPARQL (SPARQL Protocol and RDF Query Language)
Cũng giống như cơ sở dữ liệu được lưu trữ trong các hệ quan trị cơ sở ditliệu, dit liệu Web được lưu trữ dưới dạng các tài liệu RDF cũng cần phải được truyvan một cách nhanh chóng và chính xác Nhóm RDF Data Access Working Group
đã đưa ra ngôn ngữ SPARQL dùng dé truy van cho các tài liệu RDF
1.2.7 Lớp OWL (Web Ontology Language)
OWL được thiết kế dé sử dung trong các ứng dụng cần xử lý nội dung thông
tin thay vì chỉ đơn thuần hiển thị thông tin OWL được sử dụng để biểu diễn ngữ
nghĩa của các khái niệm trong các bộ từ vựng đồng thời cũng mô tả mối quan hệgiữa các khái niệm đó Việc mô tả các khái niệm va mối liên hệ giữa chúng được
gọi là ontology.
Trang 8Một Ontology định nghĩa một bộ từ vựng mang tính phổ biến và thông
thường Nó bao gồm các định nghĩa về các khái niệm căn bản trong một lĩnh vực vàcác mối liên hệ giữa chúng
1.2.8 Lớp RIF (Rule Interchange Format)
Hiện nay có rất nhiều các ngôn ngữ dựa trên luật va các máy suy diễn khácnhau Một vấn đề đặt ra là làm sao có thể có được định dạng có khả năng trao đổigiữa các loại luật được tạo từ các máy suy diễn đó Vì vậy, W3C đã dé xuất ra RIF
nhằm phát triển một định dạng cho việc trao đổi các luật trong các hệ thong dựa trên
luật của Semantic Web.
1.2.9 Lớp Unifying Logic
Lớp logic cho phép đưa ra các luật và nhờ đó có thể suy diễn ra các thông tinmới dựa vào những thông tin đã có Hiện lớp logic vẫn đang được phát triển vàchưa có mô tả hoàn chỉnh.
1.2.10 Lớp Proof
Lớp Proof trong kiến trúc của Semantic Web có vai trò kiểm chứng dựa trên
các luật được thêm vào Sau đó các luật sẽ được thực thi dựa trên các thông tin có
sẵn
1.2.11 Lớp Trust
Ở phía trên cùng của kiến trac Semantic Web là lớp Trust có vai trò đánh giá
dé sau đó quyết định có nên hay không nên tin tưởng và chấp nhận những chứng cớ
được đưa ra ở lớp Proof.
Các lớp Logic, Proof và Trust hiện nay vẫn đang trong giai đoạn nghiên cứu
và mới chỉ có những ứng dụng đơn giản.
1.3 Công cụ và công nghệ liên quan
1.3.1 Ngôn ngữ đánh dẫu mở rộng XML
XML ra đời vào tháng 2/1998, là ngôn ngữ có kiến trúc gần giống với
HTML, XML nhanh chóng trở thành một chuẩn phô biến trong việc chuyên đổi
thông tin qua các trang web sử dụng giao thức HTTP XML đưa ra một định dạng
Trang 9chuẩn cho cấu trúc của dữ liệu hoặc thông tin thông qua tự định nghĩa định dạngcủa tài liệu Bằng cách này, đữ liệu được lưu trữ bằng XML sẽ độc lập với xử lý.
XML là sự lựa chọn hang đầu vì nó dé hiểu, dé đọc, va dễ thực hiện
DAML+OIL là ngôn ngữ đánh dau ngữ nghĩa cho tài nguyên Web, được xây
dựng dựa trên các chuẩn của W3C như RDF, RDF Schema, và mở rộng những ngôn
ngữ này với các mô hình nguyên thủy phong phú hơn.
1.3.4 Ontology và ngôn ngữ web OWL
1.3.4.1 Khái nệm Ontology
Ontology là một thuật ngữ có nguồn gốc từ Triết học, là tập từ vựng dé môhình hóa thế giới bên ngoài, nó đưa ra các khái niệm cơ bản và định nghĩa quan hệ
giữa các khái niệm đó trong một miền lĩnh vực Đồng thời ontology còn cung cấp
các ràng buộc, là các giả định cơ sở về ý nghĩa mong muốn của bộ từ vựng.Ontology được xây dựng nhằm các mục đích sau:
— Chia sẻ hiểu biết chung về cấu trúc thông tin giữa con người và phần mềm
agent.
— Tái sử dung tri thức về một miền lĩnh vực đã được xây dựng từ trước
1.3.4.2 Yêu cầu khi xây dựng Ontology
Ngôn ngữ Ontology cho phép người sử dụng viết rõ ràng, các khái niệm hìnhthức của mô hình miền Ontology cần phải tuần thủ các yêu cầu:
— Cấu trúc rõ ràng: đây là điều kiện cần cho máy có thé xử lý thông tin
— Ngữ nghĩa hình thức miêu tả ý nghĩa tri thức một cách chính xác
Trang 10— Ngữ nghĩa là điều kiện tiên quyết cho việc hỗ trợ suy diễn.
1.3.4.3 Các thành phần của Ontology
Ontology được sử dụng như là một biểu mẫu trình bay tri thức về thế giới
hay một phần của nó Ontology thường miêu tả :
1.3.5.5 Phương pháp xây dựng Ontology
Quy trình phát triển Ontology là một quy trình gồm nhiều bước, tuy nhiênvẫn chưa có một phương pháp chuẩn hóa nao dé phát triển các ontology Quy trìnhphát triển gồm 7 bước do Stanford Center for Biomedical Informatics Research đưa
ra (đây là nhóm phát triển phần mềm Protégé đề trình diễn và soạn thảo Ontology):
— Bước 1 - Xác định lĩnh vực và phạm vi của Ontology
— Bước 2 - Xem xét việc sử dụng lại các Ontology có sẵn
— Bước 3 - Liệt kê các thuật ngữ quan trọng
— Bước 4 - Xác định các lớp và phân cấp của các lớp
— Bước 5 - Xác định các thuộc tính
— Bước 6 - Xác định ràng buộc của các thuộc tính
— Bước 7 - Tạo các thé hiện / thực thé
1.3.5 .SPAROQL — Ngôn ngữ truy vấn cho RDF
SPARQL được W3C phát triển trở thành ngôn ngữ chuẩn dé truy van dữ liệuRDF với việc cung cấp nhiều chức năng cho các lập trình viên và người dùng cuối
cách để viết và thực thi một câu truy vấn
Trang 11Một đồ thị RDF là một tập những bộ ba mà mỗi bộ ba lại chứa đựng chủ
ngữ, vị ngữ đối tượng Điều này đã được giới thiệu trong phần trước Những bộ ba
có thể xuất phát từ nhiều tài nguyên khác nhau SPARQL là một ngôn ngữ dé lấy
thông tin từ nhiều đồ thị Nó cung cấp những tính năng sau:
— Trích thông tin ở dang URI, nút rỗng, Plain Literal hay Typed Literal.
— Trích ra những đồ thi RDF con
— Xây dựng những đồ thi RDF mới dựa vào thông tin trong những đồ thị được
truy vấn
1.3.6 Công cu Jena xây dung Ontology
Trong xây dựng các ứng dụng dựa trên công nghệ Semantic web, dé có thé
thực hiện các thao tác như đọc/xuất, hay thực hiện các truy vấn trên một tài liệu có
mô tả ngữ nghĩa dang RDF ta có thé sử dụng các công cụ như Jena hoặc Sesame
Jena (http://jena.sourceforge.net) là một công cụ mã nguồn mở hàng đầu détriển khai Web ngữ nghĩa cho các lập trình viên Java, được phát triển bởi HP Labs
Semantic Web Research (http://www.hpl.hp.com/semweb) Jena là một Java
Framework dùng để xây dựng các ứng dụng Web ngữ nghĩa Jena cung cấp môi
trường lập trình cho RDF, RDES, OWL và SPARQL
1.4 Kết luận chương
Như vậy trong chương đầu tiên, luận văn đã trình bày được những nét tổng
quan nhất về Semantic Web bao gồm: khái niệm Semantic Web, đặc điểm của
Semantic Web, kiến trúc của Semantic Web, một số ngôn ngữ sử dụng trongSemantic Web và thành phan quan trong của Semantic Web là Ontology Bên cạnh
đó, luận văn cũng chỉ ra một số ứng dụng cơ bản trên nền tảng của Semantic Web
dé có cái nhìn tổng quan nhằm đánh giá bài toán phủ hợp nhất cho luận văn
Trang 12Chương 2: LỰA CHỌN GIẢI PHÁP XÂY DỰNG HỆ THÓNG
TRA CỨU THONG TIN BÀI THUOC YHCT
Trong chương này tôi trình bay tổng quan y hoc cô truyén, hiện trạng và
nhu câu tra cứu thông tin bài thuốc, giới thiệu một số hệ thong tra cứu bài thuốcYHCT hiện nay, từ đó đưa ra các yêu câu bài toán ứng dụng, phân tích và chọngiải pháp cũng như công nghệ để thực hiện bài toán
2.1.Tổng quan Y học cỗ truyền
2.1.1 Y học cỗ truyền là gì?
2.1.2 Y học cỗ truyền ra đời và phát triển như thế nào?
2.1.3 Đặc điểm của Y học cỗ truyền 2.1.4 Nội dung của y học cỗ truyền 2.2 Nhu cầu việc tra cứu bài thuốc
Trong suốt quá trình khám chữa bệnh ngoài công việc chân đoán thì việc ra
đơn thuốc YHCT cho bệnh nhân điều trị là một việc cực kỳ quan trọng và phức tạp
đối với các bác sĩ YHCT Công việc này quyết định đến kết quả điều trị bệnh cho
bệnh nhân vì thế khi lựa chọn một bài thuốc YHCT các Y Bác sĩ cần phải nắm rất
rõ về kiến thức YHCT vận dụng những kinh nghiệm của mình đề ra đơn thuốc Trên
thực tế với số lượng các bài thuốc cô phương và bài thuốc kinh nghiệm rat lớn các
bác sĩ chỉ có thé nhớ được một số bài thuốc hay sử dụng, điều này dẫn đến việc áp
dụng linh hoạt các bài thuốc trong khám, điều trị bệnh là điều khó khăn Để khắcphục điều đó một số bác sĩ cũng tham khảo trong sách hoặc trên Internet Tuy nhiên
nó cũng bộc lộ nhiều hạn chế như tìm kiếm trong sách thì mất thời gian, thông tinbài thuốc thì chỉ có các bài thuốc cơ bản, thông tin tìm kiếm trên mạng không đảmbảo tính chính xác và đúng đắn của bài thuốc thông tin không đáng tin cậy Việcxác định được một bài thuốc YHCT cần dựa vào một trong những điều kiện sau:Tên bai thuốc, công dụng bài thuốc, vị thuốc chủ dược, tên bệnh, nhóm chứng trạm
chính.
Trang 13Ngoài ra với người không có kiến thức về Y học cổ truyền cũng có nhu cầutra cứu hướng dẫn sử dụng các bài thuốc, tra cứu các bài thuốc chữa các bệnh phổbiến
Do đó nhu cầu xây dựng một hệ thống tra cứu bài thuốc với những yêu cầu:
tốc độ tra cứu nhanh, dé dàng sử dụng, thông tin chính xác, trung thực, mang tính
khoa học, có khả năng cập nhật và mở rộng.
2.3 Hiện trạng các hệ thống tra cứu
Hiện nay có hai cách thức việc tra cứu các bài thuốc y học cô truyền:
— Sử dụng các cuốn sách dé tra cứu
— Sử dụng kênh tra cứu trên mạng Đặc điểm của cách tra cứu này là thời
gian tra cứu nhanh, lượng dữ liệu lớn, dễ dàng bổ sung cập nhật Cách thức tra cứu
là dựa vào từ khóa hoặc danh mục bảng chữ cái Tuy nhiên với cách tra cứu này đòihỏi người dùng phải có kiến thức nhất định về y học cô truyền, phải nhớ các thông
tin tối thiểu như tên bài thuốc, vị thuốc Các dif liệu giữa bài thuốc, vị thuốc, chuẩn
trị, công dụng không có sự liên kết với nhau
Giải pháp khắc phục nhược điểm của hai cách thức trên là sử dụng tìm kiếmdựa trên Semantic Web.
2.4 Bài toán tìm kiếm dựa trên Semantic Web
2.4.1 Quá trình phát triển hệ thong tra cứu 2.4.2 Vai trò hệ thống tra cứu
2.4.3 Đặc điểm hệ thông tìm kiếm hiện tại
Đa số các máy tìm kiếm dựa trên Web truyền thống đều tìm kiếm dựa trênviệc đối chiếu từ khóa Người dùng có thể tìm kiếm được những văn bản hoặc trang
Web có nội dung chứa các từ khóa mình đưa ra.