Hình 3.2: Biểu đồ tuần tự của hệ thống

Một phần của tài liệu Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML (Trang 53 - 66)

Nhap luoc do nguon

Nhap luoc do dich

Kiem tra luoc do

Kiem tra luoc do Ket qua phan tich luoc do

Ket qua phan tich luoc do Doi sanh thuat ngu

Hien thi ma tran doi sanh thuat ngu

Doi sanh thuat ngu xet tuong thich kieu du lieu

Tra ve ket qua

Ma tran Doi sanh thuat ngu xet tuong thich kieu du lieu Tra ve ket qua

Doi sanh cau truc

Ma tran doi sanh cau truc Tra ve ket qua Doi sanh cau truc xem duoi dang duong dan

Ma tran doi sanh cau truc xem duoi dang duong dan Tra ve ket qua

Cac nut tuong dong cua 2 luoc do

Ma tran cac nut tuong dong cua 2 luoc do Tra ve ket qua

Do tuong dong cua 2 ma tran

Gia tri do tuong dong cua 2 ma tran

Hình 3.2: BiVu đ tuln tm c%a h th ng

Hien thi ket qua Nguoi

dung

He thong 1: Nhap luoc do nguon

2: Kiem tra luoc do

3: Ket qua phan tich luoc do 4: Nhap luoc do dich

5: Kiem tra luoc do

6: Ket qua phan tich luoc do 7: Doi sanh thuat ngu

8: Hien thi ma tran doi sanh thuat ngu 9: Tra ve ket qua

10: Doi sanh thuat ngu xet tuong thich kieu du lieu

11: Ma tran Doi sanh thuat ngu xet tuong thich kieu du lieu 12: Tra ve ket qua

13: Doi sanh cau truc

14: Ma tran doi sanh cau truc 15: Tra ve ket qua

16: Doi sanh cau truc xem duoi dang duong dan

17: Ma tran doi sanh cau truc xem duoi dang duong dan 18: Tra ve ket qua (adsbygoogle = window.adsbygoogle || []).push({});

19: Cac nut tuong dong cua 2 luoc do

20: Ma tran cac nut tuong dong cua 2 luoc do 21: Tra ve ket qua

22: Do tuong dong cua 2 ma tran

23: Gia tri do tuong dong cua 2 ma tran

Hình 3.3: BiVu đ c>ng tác c%a h th ng: 3.3.2 Các l p chính c%a chương trình

* Các lớp chính.

Chương trình được xây dựng với các lớp chính sau đây dùng để xử lý đối sánh lược đồ XML.

Các lớp chính

Cấu trúc chính của chương trình như sau:

WordList.java Lớp duyệt trong cơ sở dữ liệu từ vựng WordNet lấy ra tập các từ đồng nghĩa.

SynsetHirst.java Lớp dùng để lấy ra các tập Synset theo các hướng: ngang, lên, xuống.

SchemaXSD.java Lớp dùng để phân tích lược đồ XML, lấy ra các nút để xử lý.

TreeSchema.java Lớp xây dựng lược đồ XML theo hình cây đồ thị lsimObject.java Lớp chứa sự tương đồng giữa 2 nút trong lược XML

HirstOnge.java Lớp đối sánh lược đồ XML có xét đến sự tương đồng kiểu dữ liệu AnaPath.java Lớp đo độ tương đồng giữa 2 đường dẫn

MaTable.java Lớp sử lý đưa ra dạng bảng độ tương đồng giữa các nút trong đồ thị lược đồ

extend

^ Class GraphNode Lớp khai báo chứa các thuộc tính của nút trong lược đồ

^ Class GraphEdge Lớp khai báo các kiểu nút trong lược đồ XML ^ Class SimpleFileFilter Lớp dùng để lọc file cần lấy vào chương trình xử lý.

^ Class Stack chứa cấu trúc stack. SimilerNode.java Lớp đo độ tương đồng cấu trúc DoanFrame.java Lớp xử lý giao diện của chương trình Doan.java Lớp chính thực thi chương trình

Hình 3.4: CFu trúc chương trình

Chương trình bao gồm các lớp dùng để phân tích lược đồ XML và tính toán được sự tương thích ngữ nghĩa giữa 2 lược đồ nguồn và đích. Với các lớp chính và một số lớp phụ trợ. Giao diện chính của chương trình bao gồm các nút trên Menu dùng để thực hiện các công việc cần thiết trong việc đối sánh lược đồ

Thanh Menu gồm:

\ File: các chức năng liên quan đến vào/ra.

Hình 3.5: Các ch"c năng c%a File + Source: Nạp lược đồ nguồn.

+ Target: Nạp lược đồ đích. + Exit: Thoát khỏi chương trình.

Hình 3.6: Các ch"c năng c%a Matching + TreeViewer: Hiển thị hai lược đồ dưới dạng cây.

+ CompareSemantic: Đối sánh ngôn ngữ.

+ ComparewithDataXSD: Đối sánh ngôn ngữ xét tính tương thích kiểu dữ liệu. + CompareStructXSD: đối sánh cấu trúc.

+ ViewpathStructXSD: đối sánh cấu trúc hiển thị dạng đường dẫn.

+ Reject: đối sánh cấu trúc hiển thị dạng đường dẫn sau khi đã loại bỏ những giá trị nhỏ hơn ngưỡng. (adsbygoogle = window.adsbygoogle || []).push({});

+ CompareTwoXSD: đối sánh 2 lược đồ. ^ Help: trợ giúp.

+ About: Giới thiệu sinh viên thực hiện và giáo viên hướng dẫn đồ án tốt nghiệp. Sau khi nạp lược đồ nguồn và lược đồ đích ta xem dưới dạng cây như sau:

Hình 3.7: Xem dIng cây lư c đ XML

3.4 K`t chương

Trong chương này ta đã xây dựng một chương trình đối sánh để kiểm tra những thuật toán đã trình bầy trong chương 2. Đồng thời ta cũng đưa ra những lý thuyết để có thể giải quyết bài toán này như: cách khai thác từ điển WordNet bằng cách sử dụng thư viện JWNL, phân tích lược đồ bằng cách sử dụng thư viện Xsom. Muốn vậy ta phải tìm hiểu các gói của thư viện, các chức năng một số lớp trong các gói đó, cuối cùng ta xây dựng bản phân tích và thiết kế hệ thống của chương trình.

Chương 4: So sánh và đánh giá 4.1 K`t qu1 đo đ> tương đ ng

Bảng đối sánh thuật ngữ:

Hình 4.1: Đ i sánh thu\t ng*

Hình 3^7 là đối sánh thuật ngữ đưa ra bảng độ tương đồng của các nút trong lược đồ nguồn và đích, trong một hàng là độ tương đồng của một nút nguồn với tất cả các nút trong lược đồ đích.

^ Sau khi thực hiện đối sánh thuật ngữ, ta có xét đến tương thích kiểu dữ liệu để làm mịn dần quá trình đối sánh, và đưa ra kết quả đối sánh chính xác hơn. Kết quả cho ta như bảng dưới đây:

Hình 4.2: Đ i sánh có xét tính tương thích kiVu d* li u

Hình 3^8 là đo độ tương đồng giữa các nút trong 2 lược đồ, khi xét thêm ràng buộc kiểu dữ liệu của các nút đó.

^ Sau khi đối sánh thuật ngữ có xét tính tương thích kiểu dữ liệu, ta sẽ tính toán đưa ra độ tương đồng nút để cho ra kết quả cuối cùng trong quá trình đối sánh 2 lược đồ đã nạp vào.

Hình 4.3: Đ i sánh cFu trúc

Hình 3^9 là đối sánh xét đến các ngữ cảnh của các nút trong lược đồ nguồn và đích, đưa ra độ tương đồng cấu trúc.

^ Xem trực quan ở dạng bảng có cả đường dẫn của các nút trong cây lược đồ, đây là bảng đối sánh cấu trúc.

Hình 4.4: Đ i sánh cFu trúc dIng Path

Loại bỏ nhưng giá trị nhỏ hơn ngưỡng ta có bảng độ tương đồng giữa các nút của lược đồ đã hiệu chỉnh

4.2 Đánh giá ti`n trình đ i sánh 4.2.1 Kiểm tra giải thuật Hirst&St^Onge

Có rất nhiều thuật toán chúng ta có thể khai thác từ điển Wordnet để đưa ra độ tương đồng về mặt ngôn ngữ giữa các từ như thuật toán của Gabr, ELKB, WN Edges, Hirst

St.O, Jiang Con, Lea. Chod, Lin, Res. Mỗi thuật toán là mỗi cách tác giả khai thác và sử dụng từ điển Wordnet đễ đưa ra độ tương đồng về mặt ngôn ngữ giữa các cặp từ. Từ kết quả thực nghiệm ta có thể thấy độ tương đồng ngôn ngữ theo thuất toán của Jiang Con, Lin đưa ra có độ chính xác cao nhất. Các thuất toán cón lại có kết quả tương đồng như nhau. Nhưng trông bài toán của ta, cái ta quan tâm nhất là độ tương đồng về mặt cấu trúc giữa hai lược đồ. Bởi vậy ta chỉ cần dùng Hirst&Onge

Mặt khác Hirst&Onge công bố cách mà họ khai thác wordnet như thế nào,đồng thời cách cài đặt khá đơn giản, cón các thuật toán khác họ không công bó cách má họ đã khai thác wordnet, công thức tính toán phức tạp.

Tuy ta quan tâm nhiều hơn đến độ tương đồng về mặt cấu trúc giữa hai từ nhưng kết quả của giải thuật Hirst&Onge cũng ảnh hưởng rất lớn đến kết quả chương trình của ta. Bởi vậy kiểm tra Hirst&Onge là việc rất quan trọng

Bảng kết quả của [6] tiger – tiger 1 fuck – sex 0.25 journey – voyage 0.27 midday – noon 0.67 dollar – buck 0.67 environment – ecology 0.67 coast – shore 0.36

money – cash 0.25 money – currency 0.08 football – soccer 0.25 magician – wizard 0.67 type – kind 0.04 gem – jewel 0.67 car – automobile 0.67 street – avenue 0.1 asylum – madhouse 0.09 boy – lad 0.35 environment – ecology 0.23 furnace – stove 0.67 seafood – lobster 0.05 mile – kilometer 0.04 OPEC – oil 0.03 king – queen 0.67 murder – manslaughter 0.25 money – bank 0.06 computer – software 0.02 Jerusalem – Israel 0.01 vodka – gin 0.06 planet – star 0.67

So sánh đ> tương đ ng thu\t ng* 0

Một phần của tài liệu Áp dụng đối sánh lược đồ trong bài toán phân cụm lược đồ XML (Trang 53 - 66)