Tích hợp ontology

Một phần của tài liệu Thích hợp các ontology trong OWL và ứng dụng (Trang 40)

3.4.1. Khái niệm tích hợp

Tích hợp ontology là quá trình tìm ra tập hợp các điểm chung và riêng giữa hai ontology khác nhau O1 và O2 nhằm tạo ra một ontology mới O3. Về mặt cấu trúc thì tất cả những điểm riêng đƣợc giữ lại còn những điểm chung giữa hai ontology thì sẽ chỉ có một yếu tố đƣợc giữ lại làm đại diện. Về mặt thông tin, ontology O3 có chứa tất cả thông tin mà O1 và O2 đã có.

Những điểm chung đó có thể là những khái niệm, hay tài nguyên dùng chung của các ontology O1 và O2. Ontology O3 mới này sẽ đơn giản hóa công việc phối hợp, tiến hành chung giữa nhiều hệ thống đã đƣợc xây dựng dựa trên ontology O1 và ontology O2. Ontology O3 có thể thay thế hẳn ontology O1 và ontology O2 hoặc chỉ đƣợc sử dụng nhƣ là đơn vị trung gian giữa các hệ thống dựa trên ontology O1 và ontology O2. Ở đây, tôi chỉ nói đến trƣờng hợp đơn giản nhất là với hai ontology, trong nhiều trƣờng hợp, có thể có nhiều hơn hai ontology.

Quá trình tích hợp này cần nhiều sự thay đổi, thậm chí cần sắp xếp lại hoàn toàn các ontology O1 và O2 để hỗ trợ các hoạt động sâu hơn đƣợc chia sẻ giữa các hệ thống. Lợi ích của công việc này rất lớn, ontology mới có thể có tác dụng trong phần lớn công việc phối hợp. Đây thực sự là quá trình đồng nhất các ontology vì tất cả những gì có thể thực hiện đƣợc với một ontology thì đều có thể đƣợc thực hiện một cách chính xác với ontology khác.

3.4.2. Tích hợp sử dụng ContentMap

ContentMap (LogiC-based Ontology inTEgratioN Tool using MAPpings) là một phƣơng pháp tích hợp ontology sử dụng giải pháp tổng hợp và những thuật toán mới nhằm đơn giản hóa quá trình tích hợp các ontology đƣợc phát triển độc lập bằng cách ánh xạ mapping. Phƣơng pháp này có thể giúp cho ngƣời dùng hiểu và đánh giá kết quả ngữ nghĩa của việc tích hợp cũng nhƣ phát hiện các lỗi để sửa chữa trong quá trình tích hợp ontology [7].

ContentMap đƣợc kết hợp sử dụng với Protégé nhƣ là một plug-in mở rộng với đầy đủ các chức năng cần thiết để hỗ trợ việc đánh giá và cung cấp giải pháp sửa chữa các ánh xạ.

Thuật toán ContentMap

Giả thiết: Sau khi sử dụng thuật toán ánh xạ Align, ta thu đƣợc kết quả là một ontology ánh xạ M. M là tập các ánh xạ, ở đó các ánh xạ đƣợc biểu diễn dƣới dạng <id, e1, e2, n, ρ> với id là số hiệu của ánh xạ, e1 và e2 là tên các đối tƣợng tƣơng ứng trong cặp ánh xạ trong mỗi ontology, n là độ tƣơng tự của ánh xạ, ρ là quan hệ giữa hai đối tƣợng e1 và e2 (⊆ chỉ sự bao hàm, ≡ chỉ sự tƣơng đƣơng, ┴ chỉ sự độc lập). Để biểu diễn các quan hệ ρ giữa hai lớp, ta sử dụng các quan hệ lớp con SubClassOf(e1, e2), lớp tƣơng đƣơng EquivalentClasses(e1, e2), hay lớp đối lập DisjointClasses(e1, e2). Ta gọi conf(α) là chỉ số tin cậy của tiên đề α. Sau đây ta có thuât toán tích hợp ontology bằng phép ánh xạ đƣợc sử dụng trong ContentMap. Xét bài toán:

Input: O1, O2 là các ontology với Sig(O1)= ∑1, Sig(O2)= ∑2 và ∑1∩ ∑2= ∅

Output: O‟1, O‟2 là các ontology đã thay đổi sau khi tích hợp. Nội dung thuật toán này nhƣ sau :

Gọi M‟: Là các mapping giữa ∑1 và ∑2 1. Chọn thuật toán mapping map(O1,O2) 2. Chọn M ⊆ map(O1, O2)

3. Nếu O1, O2, M thỏa mãn, thì O‟1 := O1, O‟2:=O2, M‟:=M 4. U=O1∪ O2∪ M

5. Chọn hàm xấp xỉ diff ≈ và mdiff ≈

6. Tính Λ =diff≈ ∑1(O1,U) ∪ mdiff≈ ∑2(O2,U) ∪ mdiff≈ ∑1∑2(M,U) 7. Chọn T+ và T- ⊆ A

8. Chọn O- ⊆ U

9. P:= đề xuất phƣơng án gồm những phép suy dẫn tối thiểu để đánh dấu

T+ cho T- cho U và cho O-

10. Nếu không có phƣơng án nào phù hợp thì quay lại bƣớc 2 tới bƣớc 7. 11. Chọn P ∈ P

12. Trả về: O‟1 := O1\P, O‟2:=O2\P, M‟:=M\P

Hình 3.13 - Quy trình tích hợp ontology với ContentMap Về tổng quát, ta chia phƣơng pháp này ra các bƣớc chính sau:

i) Tính toán các ánh xạ (các bƣớc 1-3); ii) Tính toán các kế thừa mới (các bƣớc 4-6); iii) Phát hiện lỗi kế thừa (bƣớc 7);

iv) Sửa lỗi kế thừa (các bƣớc 8-12).

Ta sẽ phân tích chi tiết các bƣớc của thuật toán ContentMap ở phần tiếp theo.

Tính toán các ánh xạ (bƣớc 1-3)

Ánh xạ ontology có thể đƣợc tính toán bằng cách sử dụng một hay nhiều công cụ ánh xạ (bƣớc 1), và kết quả các ánh xạ có thể đƣợc tinh chỉnh (ở bƣớc

Lines 1- 2 Lines 3- 6 Lines 7- 8 Line 9 Lines 10- 12 No Yes O1, O2 Compute & Select Mappings Input O1, O2 Mappings M No Compute Diffs Compute Plans Finish Select Entailments &O- scope Execute Yes modified O1, O2 Mappings M

2) theo nhiều cách khác nhau (nhƣ bằng phép chọn dựa vào hàm ngƣỡng). Sau khi nhận đƣợc các ánh xạ đã đƣợc tinh chỉnh, ta có thể quyết định kết thúc tiến trình tích hợp (bƣớc 3) hoặc tiếp tục phân tích ngữ nghĩa trong các ontology để đi đến việc tích hợp.

Tính toán các kế thừa mới (bƣớc 4-6)

Để nắm đƣợc những ảnh hƣởng về ngữ nghĩa của phép tích hợp, ta cần biết rằng những kế thừa mới đƣợc sinh ra sẽ đƣợc lƣu lại trong ontology tích hợp U, thay vì trong O1, O2 và M một cách độc lập. Ở đây, ta sử dụng khái niệm về sự khác biệt của suy luận (deductive difference). Sự khác biệt của suy luận giữa O và O‟ đƣợc gọi là ∑, với ∑ là tập các kế thừa đƣợc xây dựng sao cho ∑ chỉ đƣợc lƣu trong O‟ mà không phải là O. Tập khác biệt của phép suy dẫn giữa ontology O và O' đƣợc đƣa ra theo công thức sau:

diff ∑(O,O')={α| α là một mệnh đề, O⊭ α, O'⊨α và Sig(α ⊆ ∑}

Trong công thức trên, sự khác biệt của phép suy luận giữa ontology O và O' chính là một tập hợp gồm các mệnh đề α đƣợc suy dẫn từ O' nhƣng không đƣợc suy dẫn từ O.

Ta gọi các mapping mới khi đó là tập các kế thừa của hai ontology ∑1 và ∑2 sao cho:

∑1∩ ∑2= {⊤, ⊥} và ∑=∑1∪ ∑2. Khi đó, mdiff là tập khác biệt diff ∑(O, O‟) gồm tất cả các mệnh đề α, với α là ánh xạ trên DL giữa ∑1 và ∑2, sao cho tập các mệnh đề α là (Sig(α) ∩ ∑i)\ {┴,T }= ∅ với mọi i ∈ {1,2}. Mệnh đề α đƣợc đánh dấu bằng một id và một chỉ số tin cậy 0<conf(α)≤1.

mdiff∑1,∑2(O,O‟) = { α ∈ mdiff ∑(O,O‟) | α là một ánh xạ giữa ∑1,∑2} Khái niệm tập khác biệt về suy luận đôi khi có một số hạn chế. Đầu tiên, đó là vì không có thuật toán để tính toán diff∑(O,O‟) một các cụ thể. Thứ hai, có thể số lƣợng kế thừa là vô cùng. Vậy nên, bên cạnh khái niêm này, ta cần có sự tinh chỉnh bằng một phép xấp xỉ (ta có thể chọn ở bƣớc 5). Với diff ≈ ∑(O,O‟) (tƣơng ứng là mdiff ≈ ∑1,∑2 ( O,O‟)) là sự xấp xỉ cho diff∑ (O,O‟) (tƣơng ứng mdiff∑1,∑2 (O,O‟)), ta luôn có diff ≈ ∑(O,O‟) ⊆ diff∑(O,O‟) (tƣơng ứng mdiff≈∑1,∑2(O,O‟) ⊆ mdiff∑1,∑2(O, O‟))

ContentMap cho phép ngƣời dùng tùy chỉnh các phép xấp xỉ bằng cách chọn các kế thừa đozn giản sau đây, với A, B là các khái niệm hạt nhân (bao gồm ⊤, ⊥) và R, S là các vai trò hạt nhân hay nghịch đảo của vai trò hạt nhân:

(i)A ⊑ B, (ii) A ⊑ ¬B, (iii) A ⊑∃R.B, (iv) A ⊑∀R.B,

và (v) R ⊑ S.

Phép xấp xỉ bé nhất chỉ xem xét các phép suy dẫn của mệnh đề (i). Trong khi phép xấp xỉ lớn nhất lại xem xét toàn bộ các phép suy dẫn có thể tạo ra (từ i đến v).

ContentMap thực hiện nhiều lần tối ƣu hóa để tính toán các kế thừa. Các lớp của kế thừa mới càng lớn thì ta càng phát hiện ra lỗi.

Phát hiện lỗi kế thừa (bƣớc 7)

Một số kế thừa trong tập các khác biệt có thể dự đoán đƣợc là lỗi, trong khi một số khác chỉ phát hiện thông qua lỗi ở ontology mới sinh (ontology tích hợp) U . Bƣớc 7 thực hiện chọn các kế thừa:

(i) Kế thừa đúng và có thể đƣợc kế thừa trong U (kí hiệu T+ ), (ii) Kế thừa không đúng và không nên kế thừa bởi U (kí hiệu T-). Ngƣời dùng đƣợc chọn hai giá trị ngƣỡng T1 và T2 với 0< T1 ≤ T2 ≤0. Giả sử, có một mệnh đề α trong tập khác biệt, ta có

Λ = diff ≈ ∑1 (O1,U) ∪ diff ≈ ∑2 (O2,U) ∪ mdiff ≈ ∑1,∑2(M,U)

Khi đó, α đƣợc xem là lỗi nếu chỉ số tin cậy conf(α) ≤ T1 (đƣợc ContentMap đánh dấu là T-) và đƣợc xem là hợp lệ nếu chỉ số độ tin cậy conf(α)≥ T2 (đƣợc ContentMap đánh dấu là T+).

ContentMap chỉ ra sự phụ thuộc giữa các kế thừa để tiến hành tổ chức lại chúng. Nếu kế thừa β phụ thuộc vào α trong O , và α bị bỏ đi thì β cũng bị vô hiệu. Điều này ám chỉ rằng nếu α∈ T-, thì β cũng nằm trong T- (và không bao giờ thuộc T+).

Sửa lỗi kế thừa (bƣớc 8-12)

Ontology tích hợp U sẽ chứa lỗi nếu vẫn còn các kế thừa lỗi (nghĩa là T-

≠∅). Ta có thể sửa lỗi bằng cách bỏ đi các mệnh đề sai từ U . Tuy nhiên, bất kì mệnh đề nào bị loại thì cũng phải tuân theo tập T+. Bởi các phép suy dẫn trong

T+ sẽ vẫn đƣợc giữ lại sau khi thực hiện loại bỏ các mệnh đề.

Giả sử, cho O, T +, T-, O- là các tập độc lập chứa mệnh đề thoả mãn: O-

⊆O, O⊨ T-, O⊨ T+ và T+ ∩ T- =∅. Khi đó, một giải pháp sửa lỗi cho O tạo bởi O- , T+, T– là một tập P⊆ O- thoả mãn:

(1) ( O\ P) ⊨α với mọi α ∈ T+

Trong khái niệm trên, ta có một quy trình đơn giản để tính toán toàn bộ các giải pháp sửa lỗi:

Với mỗi P ⊆ O-, ta dùng một bộ suy luận để kiểm tra xem P có phải là một giải pháp sửa lỗi đúng, tức là điều kiện 1, 2 từ định nghĩa trên có thoả mãn. Phƣơng pháp trên dựa theo giả thuyết sau:

(i) Để α ∈ T + đƣợc giữ lại sau khi thực hiện cách giải quyết P, ontology O\ P phải chứa ít nhất một luận chứng cho α trong O. (ii) Để β ∈ T – không đƣợc giữ lại, ta cần chỉ ra rằng không có phép chứng minh β nằm trong O\P (với β nằm trong O ) (dòng 11-13).

Tập các cách giải đơn giản nhất sẽ đƣợc tìm ra chỉ khi tìm thấy toàn bộ các cách giải có thể.

Chú ý rằng, nếu có xung đột giữa T+ với T- thì có thể khiến cho không thể tìm ra bất kì giải pháp sửa lỗi nào. Trong trƣờng hợp đó, giả sử có O, T+, T-, O- và thoả mãn các điều kiện trong định nghĩa trên và O⊨ α, β. Nếu α > β trên O, α ∈T- thì không tồn tại cách sửa lỗi nào.

CHƢƠNG 4. XÂY DỰNG ỨNG DỤNG 4.1. Bài toán ứng dụng

4.1.1. Yêu cầu thực tế

Ngân hàng Chính sách xã hội Việt Nam là một tổ chức tài chính vi mô, hoạt động không vì mục đích lợi nhuận mà vì mục tiêu xóa đói giảm nghèo và an sinh xã hội. Đối tƣợng vay vốn của Ngân hàng Chính sách xã hội là hộ nghèo và các đối tƣợng chính sách khác. Các chƣơng trình cho vay phần lớn do Chính phủ quy định và có nhiều ƣu đãi về lãi suất. Với cơ chế cho vay theo hộ gia đình là chủ yếu, các phòng giao dịch, điểm giao dịch đƣợc thành lập theo địa giới hành chính. Vì thế, khi Chính phủ có những thay đổi về địa giới hành chính thì việc chia tách, sáp nhập hai phòng giao dịch là việc làm tất yếu.

Ngoài ra, cũng có những trƣờng hợp ngoại lệ, không phải do Chính phủ thay đổi địa giới hành chính mà vẫn phải sáp nhập hai phòng giao dịch với nhau, chẳng hạn nhƣ một số phòng giao dịch của các quận của thành phố Hà Nội. Ở các quận nội thành Hà Nội, loại đối tƣợng thuộc diện vay vốn ít, các chƣơng trình cho vay đối với các đối tƣợng này cũng ít, do đó dƣ nợ của các phòng giao dịch này rất thấp. Mặt khác, chi phí cho các phòng giao dịch này rất cao: phần lớn các phòng giao dịch đều phải đi thuê địa điểm để làm việc, nhân sự đông và không thể cắt giảm vì mỗi bƣớc cho vay, mỗi nghiệp vụ ngân hàng đều phải thực hiện đầy đủ theo quy trình. Do đó, việc sáp nhập các phòng giao dịch khi không có thay đổi địa giới hành chính của Chính phủ là thực sự cần thiết. Điều đó dẫn đến yêu cầu tích hợp dữ liệu của các phòng giao dịch với nhau là tất yếu.

Mặc dù vẫn dựa trên một cấu trúc chung và cơ bản, nhƣng do dữ liệu phân tán, không tập trung nên mỗi phòng giao dịch vẫn có thể tự thêm, bớt hay thay đổi tên gọi các trƣờng dữ liệu để tự quản lý dữ liệu tại đơn vị sao cho hiệu quả. Do đó, khi sáp nhập hai phòng giao dịch với nhau gặp phải vấn đề các thông tin không đồng nhất, mặc dù về bản chất thì nội dung của nó có chức năng nhƣ nhau. Một ví dụ đơn giản, cùng là trƣờng thông tin về tên khách hàng, nhƣng phòng giao dịch A lại gọi trƣờng này là Tên Khách hàng, trong khi đó phòng giao dịch B lại gọi là Họ và tên Khách hàng.

Nhƣ vậy, yêu cầu bài toán đặt ra là làm thế nào để hợp nhất các dữ liệu mà không có sự trùng lặp hay nhầm lẫn các trƣờng dữ liệu.

Hiện nay, hệ thống Ngân hàng Chính sách xã hội đang sử dụng các phần mềm đƣợc viết bởi các phần mềm lập trình Foxpro For Dos, Foxpro For Win, thông tin dữ liệu còn phân tán không tập trung, mỗi phòng giao dịch quản lý một cơ sở dữ liệu riêng biệt và có những khái niệm riêng.

Nhƣ đã trình bày ở trên, ý nghĩa lớn nhất của ontology chính là chia sẻ những hiểu biết chung về các khái niệm, cấu trúc thông tin giữa con ngƣời hoặc giữa các hệ thống phần mềm không những trong lĩnh vực Web ngữ nghĩa mà còn trong nhiều ngành và lĩnh vực khác.Trong trƣờng hợp của Ngân hàng chính sách, có thể hình dung nếu có một ontology chứa tất cả các khái niệm của ngân hàng thì đó có thể coi nhƣ một cuốn từ điển chuyên ngành của ngân hàng giúp cho việc thống nhất trong xây dựng cơ sở dữ liệu trở nên đơn giản hơn. Tên các khái niệm trên ontology khi đó là duy nhất giúp cho thông tin là nhất quán và tƣờng minh.

Phƣơng pháp tích hợp ontology hoàn toàn có thể giải đƣợc bài toán về việc sáp nhập các phòng giao dịch tại Ngân hàng chính sách. Đối với hệ thống hiện tại, việc sáp nhập diễn ra khá nhiều, việc tích hợp dữ liệu bằng ontology sẽ giảm bớt thời gian, chi phí cho việc làm sạch và chuẩn hóa dữ liệu cũng nhƣ tăng độ chính xác của tích hợp. Việc tái sử dụng dữ liệu giữa các phòng giao dịch khác nhau nhờ đó cũng sẽ giúp ích rất nhiều cho ngân hàng. Một số dịch vụ gia tăng có thể đƣợc tạo ra khi sử dụng ontology. Ví dụ nhƣ nhờ ontology, ngân hàng có thể thực hiện việc tìm ra các khách hàng uy tín, khách hàng tiềm năng để có chế độ đãi ngộ đặc biệt nhằm tăng sức hấp dẫn của ngân hàng.

4.1.2. Bài toán ứng dụng

Trong phạm vi luận văn này, tôi xin đƣa ra bài toán áp dụng cho tích hợp ontology nhƣ sau:

Ngân hàng Chính sách xã hội có hai phòng giao dịch Ba Đình và Tây Hồ đƣợc lên kế hoạch sáp nhập với nhau. Mỗi phòng giao dịch đều có cơ sở dữ liệu riêng với các khách hàng khác nhau. Trong đó, các khách hàng tại hai phòng giao dịch đều có thông tin riêng biệt và mở tài khoản tiết kiệm và vay vốn riêng tại mỗi phòng giao dịch.

Tuy nhiên, do Ngân hàng Chính sách xã hội còn sử dụng dữ liệu phân tán chƣa đƣợc tập trung nhƣ các ngân hàng thƣơng mại khác, nên vấn đề không đồng nhất dữ liệu giữa các phòng giao dịch vẫn còn diễn ra. Ví dụ, việc gọi tên các trƣờng dữ liệu vẫn còn sự khác biệt do có khác biệt về hành chính và địa lý.

Nhƣ vậy, việc sáp nhập hai phòng giao dịch phải yêu cầu đảm bảo không thay đổi thông tin của tất cả các khách hàng, đặc biệt là thông tin về các tài khoản của khách hàng. Sau khi sáp nhập, cơ sở dữ liệu mới phải có thông tin của

Một phần của tài liệu Thích hợp các ontology trong OWL và ứng dụng (Trang 40)

Tải bản đầy đủ (PDF)

(69 trang)