Đặc điểm - Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức, được xây dựng dựatrên phương pháp đồ thị để biểu diễn các mối liên hệ giữa các tri thức tổng quát, cáckhái niệm, các sự
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
Tiểu luận môn : CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
Lớp Cao Học CH8- Chuyên Ngành KHMT
Đề tài:
ỨNG DỤNG MẠNG NGỮ NGHĨA VÀO
ĐIỀU CHẾ HÓA HỌC
GVHD: GS.TSKH.Hoàng Văn Kiếm
HVTH: Nguyễn Thị Kim Anh
Mã Số HV: CH1301078
TP HCM 10/2014
Trang 2MỤC LỤC
1 Khái niệm 5
2 Cơ chế suy diễn 6
3 Đặc điểm 7
4 Ưu nhược điểm 7
II Ứng dụng mạng ngữ nghĩa trong tin học 8
1.Hệ chuyên gia 8
2 Ứng dụng mạng ngữ nghĩa để giải các bài toán 10
III Ứng dụng vào bài toán Điều chế chất hóa học 11
IV Xây dựng chương trình Điều chế chất hóa học 12
1 Cài đặt chương trình 12
2 Các chức năng trong chương trình 17
KẾT LUẬN 21
Trang 3MỞ ĐẦU
Trong thời đại công nghệ phát triển nhanh chóng như hiện nay, việc ứng dụngcông nghệ thông tin vào trong mọi lĩnh vực là một trong những nhu cầu cấp thiết vàtất yếu Đặc biệt là trong lĩnh vực thương mại điện tử, quản lý, số lượng thông tin
và dữ liệu cần quản lý sẽ tăng lên gấp bội, dẫn tới công việc quản lý trở nên phứctạp, khó khăn hơn Do đó, việc ứng dụng công nghệ thông tin lại càng cấp thiết hơn,cùng với sự hỗ trợ của các phần mềm quản lý, nó giúp chúng ta quản lý mọi việc dễdàng, nhanh chóng, đáp ứng mọi yêu cầu lưu trữ và truy xuất dữ liệu, tiết kiệm đượcthời gian và chi phí cho công việc
Công nghệ tri thức có thể xem là một nhánh nghiên cứu của trí tuệ nhân tạo,phân tích tri thức lĩnh vực và chuyển nó thành những mô hình tính toán đưa vàomáy tính để phục vụ những nhu cầu cần thiết Hay nói cách khác là việc ứng dụng,biểu diễn các thông tin, các suy diễn đời thường của con người vào trong máy tính.Xây dựng cho máy tính trở thành như một con người thực sự, và có thể giải quyếtvấn đề như con người
Công nghệ tri thức đóng vai trò hết sức quan trọng trong việc phát triển Côngnghệ thông tin, nâng cao sự hữu dụng của máy tính, giúp con người gần gũi vớimáy tính hơn Đồng thời, công nghệ tri thức còn góp phần thúc đẩy nhiều ngànhkhoa học khác phát triển, khả năng phát triển khoa học dựa trên tri thức liên ngành.Cho các hợp chất hóa học ban đầu A,B,C…, dựa vào các phương trình phảnứng đã biết, hãy điều chế ra hợp chất hóa học X từ những phương trình phản ứngtrên Bài toán đơn giản nếu số lượng phương trình phản ứng là nhỏ Nhưng với sốlượng phương trình phản ứng là rất lớn thì việc tìm ra những phương trình thích hợp
để điều chế ra chất X là rất khó khăn Từ lý do trên, áp dụng giải bài toán điều chếtrên bằng việc sử dụng mạng ngữ nghĩa Và một phần nhỏ trong bài thu hoạch này
là cân bằng phản ứng oxi hóa khử
Thông qua những buổi giảng dạy và hướng dẫn của thầy Hoàng Kiếm, giúp
em nắm được kiến thức tổng quát và hiểu hơn về việc quản lý tri thức, các hệ cơ sởtri thức, cũng như khai mỏ dữ liệu và khám phá tri thức Và trong bài thu hoạchnày, em xin trình bày chi tiết việc áp dụng mạng ngữ nghĩa vào bài toán điều chếchất hóa và cẩn bằng phản ứng oxi khóa khử Do khả năng và kiến thức có hạn, nên
Trang 4bài viết cũng chỉ dừng ở mức điều chế đơn giản và khái quát Em xin chân thànhcảm ơn thầy Hoàng Kiếm đã giảng dạy và hướng dẫn để hoàn thành bài viết rất bổích và lý thú này.
Nội dung của bài viết ngoài phần mở đầu và kết luận, có 4 mục sau:
II Ứng dụng mạng ngữ nghĩa trong tin học
III Ứng dụng vào bài toán Điều chế chất hóa học
IV.Xây dựng chương trình Điều chế chất hóa học
Trang 5- Thêm một đối tượng tương tự
- Thêm một đối tượng đặc biệt hơn
- Thêm một đối tượng tổng quát hơn
Ta có thể mở rộng mạng ngữ nghĩa ở Hình 1.1 như sau:
- Thêm “Cá voi” thể hiện một loài động vật có vú mới
- Thêm “Mèo Garfield” cũng là một loài mèo (nhân vật hoạt hình)
- Thêm “Loài vật” một đối tượng tổng quát hơn
Động vật có vú
là
Trang 6Hình 1.2: Phát triển mạng ngữ nghĩa
Tính chất quan trọng của mạng ngữ nghĩa là tính kế thừa Nó cho phép các nútđược bổ sung sẽ nhận các thông tin của các nút đã có trước, và cho phép mã hóa trithức một cách dễ dàng
Để minh họa cho tính kế thừa của mạng ngữ nghĩa, ta hãy xét một câu hỏi trên
đồ thị Hình 1.2 Ta muốn biết mèo “Garfield” có đuôi hay không?
Hình 1.3: Các bước thực hiện phép toán trên mạng ngữ nghĩa
2 Cơ chế suy diễn
Cơ chế suy diễn thực hiện theo thuật toán “loang” đơn giản:
Bước 1: Kích hoạt những đỉnh hình tròn đã cho ban đầu (những yếu tố đã có giá
trị)
Bước 2: Lặp lại bước sau cho đến khi kích hoạt được tất cả những đỉnh ứng với
những yếu tố cần tính hoặc không thể kích hoạt được bất kỳ đỉnh nào nữa
Nếu một đỉnh hình chữ nhật có cung nối với n đỉnh hình tròn mà n-1 đỉnh hình
Động vật có vú
Con
mèo
lông
cósống
đuôicó
là
dưới nướcsống
mèo
Động vật có vúĐuôi
Trang 7tròn đã được kích hoạt thì kích hoạt đỉnh hình tròn còn lại (và tính giá trị đỉnh còn
lại này thông qua công thức ở đỉnh hình chữ nhật)
3 Đặc điểm
- Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức, được xây dựng dựatrên phương pháp đồ thị để biểu diễn các mối liên hệ giữa các tri thức tổng quát, cáckhái niệm, các sự việc
- Do mạng ngữ nghĩa là một loại đồ thị cho nên ta có thể dùng những thuậttoán của đồ thị trên mạng ngữ nghĩa như thuật toán tìm liên thông, tìm đường đingắn nhất,… để thực hiện các cơ chế suy luận Điểm đặc biệt của mạng ngữ nghĩa
so với đồ thị thông thường chính là việc gán một ý nghĩa cho các cung Cung nốigiữa hai đỉnh cho biết giữa hai khái niệm tương ứng có sự liên hệ như thế nào Việcgán ngữ nghĩa vào các cung của đồ thị đã giúp giảm bớt được số lượng đồ thị cầnphải dùng để biễu diễn các mối liên hệ giữa các khái niệm
- Một đặc điểm quan trọng của mạng ngữ nghĩa là tính kế thừa Chính đặc tính
kế thừa của mạng ngữ nghĩa đã cho phép ta có thể thực hiện được rất nhiều phépsuy diễn từ những thông tin sẵn có trên mạng
- Cơ chế suy diễn áp dụng trong mạng ngữ nghĩa là thực hiện theo thuật toánloang truyền đơn giản theo hai bước sau:
• Kích hoạt các đỉnh đã cho ban đầu (các đỉnh đã có giá trị)
hệ) Và trong đó có n-1 đỉnh đã xác định thì đỉnh đó cũng được xác định Lặplại bước này cho đến khi xác định được tất cả các đỉnh
4 Ưu nhược điểm
a Ưu điểm :
mới để bổ sung các tri thức cần thiết
• Mạng ngữ nghĩa có tính trực quan cao nên rất dễ hiểu
khác thông qua các cung loại “là’ từ đó có thể tạo ra các liên kết “ngầm”giữa những đỉnh không có liên kết trực tiếp với nhau
Trang 8• Mạng ngữ nghĩa hoạt động khá tự nhiên theo cách thức con người ghi nhậnthông tin.
b Nhược điểm :
mạng Điều đó đồng nghĩa với người dùng có thể gắn bất kỳ khái niệm nàocho đỉnh hoặc cung
• Tính thừa kế trong mạng có thể dẫn đến khả năng mâu thuẩn tri thức
II Ứng dụng mạng ngữ nghĩa trong tin học
Mạng ngữ nghĩa mà một cách biểu diễn tri thức dưới dạng đồ thị trực quan Tuynhiên để biểu diễn mạng ngữ nghĩa dưới dạng tri thức trong tin học là một vấn đềphức tạp Sau đây là một số ứng dụng của mạng ngữ nghĩa trong tin học
1.Hệ chuyên gia
a Khái niệm
hệ thống các thông tin riêng biệt tách rời Những thông tin này thường không có cấutrúc, không có tính hệ thống và thường không có quan hệ với nhau Việc tổng hợpcác thông tin tách rời, riêng biệt để hình thành nên một tri thức là việc làm mà cácchuyên gia đã thực hiện được và qua đó họ có thể lý giải được sự việc và có nhữngnhận định chính xác về các hiện tượng xẩy ra Tuy nhiên giới hạn của con ngườitrong việc ghi nhớ và suy luận đã thúc đẩy việc tạo ra các hệ thống mà có thể thaythế các chuyên gia trong việc tổng hợp thông tin và đưa ra những nhận định chínhxác dựa trên các hiện tượng xẩy ra dựa vào những công thức suy luận sẵn có là cầnthiết Những hệ thống đó được gọi là hệ chuyên gia
- Yếu tố quan trọng để xây dựng một hệ chuyên gia là thông tin Thông tin có thể làđối tượng, có thể là mối liên hệ giữa các đối tượng đó Thông tin càng nhiều càngchi tiết thì độ chuẩn xác của hệ chuyên gia càng cao
b Ưu khuyết điểm
- Hệ chuyên gia là một ứng dụng được con người xây dựng nên để phục vụcon người trong việc tổng hợp thông tin và đưa ra những nhận định dựa vào quátrình suy luận logic Do đó bên cạnh những ưu điểm thì hệ chuyên gia còn tồn tại rất
Trang 9nhiều khuyết điểm và cần sự khắc phục để các hệ chuyên gia ngày càng trở nênhoàn thiện hơn.
Ưu điểm :
- Lưu trữ lượng thông tin lớn
- Tốc độ suy luận nhanh, độ chính xác cao
- Dễ tiếp thu thông tin mới
Khuyết điểm :
- Không có khả năng đánh giá thông tin đầu vào
- Thông tin đầu vào yêu cầu phải đúng chuẩn và rỏ ràng
- Không có khả năng hình thành tri thức mới từ những thông tin đã có
c Quá trình xây dựng
Quá trình xây dựng một hệ chuyên gia trải qua các bước sau:
(1) Tiếp nhận thông tin: các thông tin trong quá trình này là các thông tin thô.Được lưu trữ theo một định dạng nhất định (thường là theo định dạng củaLogic vị từ) Thông tin càng phong phú thì hệ thống càng có độ tin cậy cao(2) Phân loại thông tin: đây là quá trình sắp xếp các thông tin theo một quy luậtsẵn có Trong quá trình này người xây dựng hệ chuyên gia cần phải thựchiện công việc chính xác, vì nếu như thông tin được chọn lọc và sắp xếp sailệch thì hệ thống sẽ không có độ tin cây cao
(3) Xây dựng giao diện cho hệ thống Đây là bước không ảnh hưởng đến độ tincậy của hệ thống nhưng là bước quan trong để đưa hệ thống đến với conngười Hệ thống càng thân thiện thì giá trị hệ thống càng cao Trong quátrình xây dựng hệ thống
d Một số hệ chuyên gia tiêu biểu
(1) Hệ chuyên gia trong lĩnh vực y tế dùng để chẩn đoán bệnh Thông thườngmột chứng bệnh sẽ có một số lượng triệu chứng nhất định Thông tin đưa vàocho hệ thống là các triệu chứng và các mối kết hợp và liên hệ Dựa vào cácmối liên hệ mà hệ thống sẽ sắp xếp các thông tin thành một liên kết các triệuchứng Khi nhận được thông tin đầu vào qua một số triệu chứng, hệ chuyêngia sẽ phân tích và tìm kiếm ra kết quả chẩn đoán bệnh
Trang 10(2) Hệ chuyên gia trong lĩnh vực kỹ thuật dùng để chẩn đoán hỏng hóc của máymóc Tương tự như trên, các thông tin sẽ được tiếp nhận và tính toán đánh giá đểhình thành nên tri thức.
(3) Hệ chuyên gia trong lĩnh vực khoa học tự nhiên dùng để giải đáp các quyluật biến đổi của giới tự nhiên dựa trên những quy luật cố định và bền vững
2 Ứng dụng mạng ngữ nghĩa để giải các bài toán
e Mục tiêu
- Trong toán học việc tìm hiểu và chứng minh một tiền đề, một định lý, là mộtquá trình phức tạp với một hệ thống các dẫn chứng, luận chứng, và các luậnchứng luận cứ đó lại có quan hệ đến nhau Việc kết hợp các dẫn chứng, luận chứng
đó sẽ tạo ra được những tri thức khác nhau và hổ trợ cho việc giải quyết bài toán.Giải quyết được vấn đề đó, mạng ngữ nghĩa được xem như một cách thức để giảiquyết các vấn đề trong toán học
- Ứng dụng mạng ngữ nghĩa trong giải quyết các bài toán có ý nghĩa rất lớn vì
nó không chỉ mang tính trực quan mà còn biểu hiện được các mối quan hệ rỏ ràng,qua đó có thể phát hiện được những sai lệch trong quá trình dẫn chứng một cách dễdàng
f Quá trình xây dựng
Để xây dựng chương trình giải một bài toán bằng mạng ngữ nghĩa cần áp dụng cácbước sau:
(1) Xác định các đối tượng, các mối liên hệ có trong bài toán
- Từ những thông tin có trước của bài toán, việc xác định các đối tượng và cácmối liên hệ không phức tạp, tuy nhiên mạng ngữ nghĩa cho bài toán có thể đưa rađược đáp án chính xác hay không phụ thuộc vào mật độ thông tin (số lượng đốitượng và mối liên hệ giữa các đối tượng) Ví dụ: Khi xây dựng mạng ngữ nghĩa chobài toán hình học, các đối tượng của mạng ngữ nghĩa là các thông tin liên quan đếncạnh, góc Còn các mối liên hệ là các thông tin miêu tả tính chất của các đối tượngtrong mạng như tổng các góc, quy tắc về chiều dài các cạnh tương ứng với cácgóc,
(2) Loại các đối tượng, các mối liên hệ dư thừa
Trang 11- Trong quá trình thu thập dữ liệu, có nhiều thông tin trùng lặp được biểu diễndưới nhiều dạng khác nhau Việc phân tích các thông tin và biểu diễn trên mạngngữ nghĩa là cần thiết Với nhiều thông tin trùng lặp, mạng sẽ phình ra một cáchkhông cần thiết Khi đó tốc độ tính toán sẽ bị hạn chế.
- Ngoài ra, khi thu thập thông tin, có nhiều thông tin sẽ bị sai lệch, gây mâuthuẩn với những thông tin khác, cần xác định và loại bỏ những thông tin này để đảmbảo tính thống nhất của thông tin
(3) Xây dựng các mối liên hệ giữa các đối tượng
- Chọn lọc các mối liên hệ cho từng đối tượng Lưu ý là với n đối tượng thì cầnphải có liên hệ với n-1 đối tượng khác Có nghĩa là để xác định được n yếu tố thìcần phải có n-1 yếu tố đã được xác định
(4) Tối ưu hóa mạng ngữ nghĩa
- Vận dụng phương pháp kế thừa để hạn chế các mối liên hệ trong mạng Các
đối tượng kế thừa sẽ có đầy đủ tất cả các thuộc tính của đối tượng được kế thừa
- Giữa hai đối tượng không nên tồn tại quá một mối liên hệ Việc tồn tại hơn mộtmối liên hệ giữa hai đối tượng không làm giá trị mạng ngữ nghĩa sai những sẽ làmmạng phình ra không cần thiết
III Ứng dụng vào bài toán Điều chế chất hóa học
Bài toán ví dụ: Từ quặng pyrit sắt (FeS2), nước biển (NaCl), không khí (O2) vànước (H2O) Tìm các phương trình phản ứng để điều chế chất FeSO4
Giả sử ta có mạng ngữ nghĩa để giải bài toán điều chế trên như hình sau:
Trang 12Bắt đầu: đỉnh FeS2, NaCl, O2 được kích hoạt.
Phương trình (1) được kích hoạt Từ (1) ta được Fe2O3 và SO2, đỉnh Fe2O3 vàSO2 được kích hoạt
Phương trình (2) được kích hoạt Từ (2) ta được SO3, đỉnh SO3 được kích hoạt.Phương trình (5) được kích hoạt Từ (5) ta được H2, đỉnh H2 được kích hoạt.Phương trình (4) được kích hoạt Từ (2) ta được Fe, đỉnh Fe được kích hoạt.Phương trình (3) được kích hoạt Từ (3) ta được FeSO4
Chất FeSO4 đã được điều chế, thuật toán kết thúc
IV Xây dựng chương trình Điều chế chất hóa học
1 Cài đặt chương trình
1.1 Cài đặt mạng ngữ nghĩa sử dụng mảng 2 chiều
- Cột: ứng với mỗi phương trình phản ứng khác nhau (đỉnh hình chữ nhật).
- Dòng: ứng với mỗi hợp chất hóa học (gồm các chất tham) (đỉnh hình
eclipse)
Phần tử M[i, j] = -1 nghĩa là ứng với phương trình phản ứng cột j có hợp chất
Chất tham gia Chất tạo thành
FeS2 + O2 → Fe2O3 + SO2 SO2 + O2 → SO3
NaCl + H
2O → NaOH + H
2 + Cl2
Fe2O3 + H2 → Fe + H2O Fe + H2O + SO3 → FeSO4 + H2
O2
SO2
FeS2
SO3
Trang 13Mảng biểu diễn mạng ngữ nghĩa ban đầu:
Trang 141.2 Cài đặt mạng ngữ nghĩa sử dụng mảng 1 chiều
Cũng tương tự như cách cài đặt trên, nhưng chỉ sử dụng mảng 1 chiều
để lưu thông tin mạng ngữ nghĩa Và danh sách L chứa các chất ở vế trái(chất tham gia) của tất cả các phương trình phản ứng
Ở phương trình (1), vế trái FeS2 = 1, O2 = 1 nên các chất ở vế phải Fe2O3,
SO2 được kích hoạt Loại bỏ phương trình (1) ra khỏi danh sách L
Trang 15L = {(3), (4), (5)}
FeS 2 O 2 SO 2 Fe 2 O 3 Fe SO 3 H 2 O NaCl H 2
Kiểm tra phương trình (3), vế trái Fe = 0, H2O = 1, SO3= 1 nên các chất ở
vế phải chưa được kích hoạt
Sử dụng mảng 1 chiều tiết kiệm được không gian lưu trữ hơn so vớimảng 2 chiều Do đó, em sử dụng cài đặt mảng 1 chiều cho chương trìnhdemo Điều chế này
1.3 Giới thiệu CSDL
Cấu trúc XML được sử dụng để lưu trữ dữ liệu của các phương trìnhphản ứng, và các chỉ số electron (dùng để cân bằng phản ứng hóa học bằngphương pháp electron) như sau:
- Cấu trúc xml lưu trữ các phương trình phản ứng (equation.xml):
<?xml version="1.0" encoding="utf-8" ?>
<equations>
<eq>4FeS2 + 9O2 = 2Fe2O3 + 6SO2</eq>
<eq>2SO2 + O2 = 2SO3</eq>
<eq>Fe2O3 + 3H2 = 2Fe + 3H2O</eq>
<eq>Fe + H2O + SO3 = FeSO4 + H2</eq>
<eq>2NaCl + 2H2O = 2NaOH + H2 + Cl2</eq>
</equations>