1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH

43 280 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 43
Dung lượng 2,72 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài toán đối sánh lược đồ có thể được định nghĩa như sau: “Cho hai lược đồ S1 và S2 hãy tìm sự tương đồng giữa các phần tử của S1và S2 bằng cách khai thác tất cả các thông tin tồn tại tr

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

LUẬN VĂN THẠC SĨ KHOA HỌC

TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ

XÂY DỰNG ỨNG DỤNG VNMATCH

NGÀNH: CÔNG NGHỆ THÔNG TIN

NGÔ VĂN QUÂN

HÀ NỘI 2006

Lời cảm ơn Trong lời đầu tiên của báo cáo luận văn tốt nghiệp “Tìm hiểu về đối sánh lược đồ và xây dựng ứng dụng VNMatch” này, tôi muốn gửi những lời cảm ơn và

biết ơn chân thành của mình tới tất cả những người đã hỗ trợ, giúp đỡ tôi về chuyên môn, vật chất và tinh thần trong quá trình thực hiện Đồ án

Trước hết, tôi xin chân thành cảm ơn TS Nguyễn Kim Anh, bộ môn Hệ thống thông tin, Khoa Công nghệ thông tin trường Đại học Bách khoa Hà Nội, người đã trực tiếp hướng dẫn, nhận xét, giúp đỡ tôi trong suốt quá trình thực hiện luận văn

Xin chân thành cảm ơn Khoa Công nghệ thông tin, Trung tâm Đào tạo và Bồi dưỡng sau đại học Trường Đại học Bách Khoa Hà Nội đã giúp đỡ tôi trong suốt quá trình học tập và nghiên cứu

Tôi cũng muốn gửi lời cảm ơn tới TS Đỗ Hồng Hải1, tác giả của hệ thống COMA++; anh Lê Hồng Phương2 tác giả của vnTokenizer, vnLTag; Enrico May, sinh viên nghiên cứu về dự án Cupid Tôi cũng xin bày tỏ lòng biết ơn đến gia đình và những người bạn thân đã giúp đỡ, động viên tôi rất nhiều trong suốt quá trình học tập và làm luân văn tốt nghiệp

Do thời gian thực hiện có hạn, kiến thức chuyên môn còn nhiều hạn chế nên đồ án tôi thực hiện chắc chắn không tránh khỏi những thiếu sót nhất định Tôi rất mong nhận được ý kiến đóng góp của thầy, cô giáo và các bạn

Xin chân thành cảm ơn !

Hà Nội, ngày 09 tháng 10 năm 2006

1 http://dbs.uni-leipzig.de/personen/hong_hai_do

2 Lê Hồng Phương, công tác tại trường Đại Học Quốc Gia Hà Nội, hiện đang làm nghiên cứu sinh tại Pháp

Trang 2

Chương 1 Mở đầu 1

1 Đối sánh lược đồ 2

2 Sự hỗn tạp ngữ nghĩa 3

3 Định nghĩa bài toán 6

3.1 Schemas 6

3.2 Đầu vào bài toán (Input) 7

3.3 Đầu ra bài toán (Output) 7

3.4 Kiến trúc chung 8

4 Ứng dụng của bài toán đối sánh lược đồ 9

4.1 Các ứng dụng tích hợp dữ liệu và data warehouse 9

4.2 E-Business 11

4.3 Semantic Web 12

5 Các vấn đề mở 13

5.1 Khả năng biểu diễn của ngôn ngữ 13

5.2 Làm việc với các lược đồ có kích thước lớn 13

5.3 Sự kết hợp của các phương pháp đối sánh 14

Chương 2 Các phương pháp tiếp cận 15

1 Các dự án liên quan 15

1.1 COMA++ 15

1.2 SEMINT 16

1.3 LSD 16

1.4 SKAT 16

1.5 TransScm 16

1.6 DIKE 17

1.7 SIMILARITY FLOODING 17

1.8 Cupid 17

2 Các phương pháp đối sánh lược đồ 20

2.1 Tiêu chuẩn phân loại 20

2.2 Đối sánh dựa trên schema (schema-based) 21

2.2.1 Phương pháp tiếp cận dựa trên ngôn ngữ (linguistic) 22

2.2.2 Phương pháp tiếp cận dựa trên ràng buộc 23

2.2.3 Phương pháp tiếp cận dựa trên cấu trúc 23

2.3 Đối sánh dựa trên dữ liệu 23

2.4 Đối sánh kết hợp 24

2.5 Match Cardinality 24

2.6 Các hệ số mặc định trong bài toán đối sánh 25

3 Các phương pháp đánh giá hệ thống đối sánh 26

Chương 3 Thiết kế hệ thống đối sánh lược đồ 30

1 Khảo sát 30

2 Giới thiệu 33

2.1 Giới thiệu bài toán đối sánh lược đồ 33

2.2 Xử lý schema trong tiếng Việt 33

3 Thiết kế 35

3.1 Kiến trúc hệ thống 35

3.2 Input 36

3.2.1 Schema Error! Bookmark not defined. 3.2.2 WordNet 39

3.2.3 Output 40

3.3 Mức ngôn ngữ (linguistic matching) 41

3.3.1 Các thuật toán đối sánh cơ bản 42

3.3.2 Thuật toán đối sánh kết hợp 44

3.4 Mức cấu trúc 51

3.5 Chọn lựa ánh xạ 55

4 Cài đặt và kết quả 56

4.1 Cài đặt 56

4.2 Kết quả thử ngiệm 60

5 Kết luận và hướng phát triển 71

5.1 Kết luận 71

5.2 Hướng phát triển 72

Tài liệu tham khảo 75

Sách, bài báo, luận văn 75

Website 75

Trang 3

Mục lục hình ảnh

Hình 2-2: Kiến trúc chung của bài toán đối sánh lược đồ 8

Hình 2-3: Minh họa hệ thống tích hợp dữ liệu giúp người dùng tìm văn bản 10

Hình 2-6: Kiến trúc SEMINT Error! Bookmark not defined.

Hình 2-7: Các phương pháp đối sánh lược đồ 20

Hình 3-1: Sự hỗn tạp của các nguồn dữ liệu 31

Hình 3-2:Lược đồ văn bản 33

Hình 3-3: Kiến trúc hệ thống 36

Hình 3-6: Loại bỏ nút có kiểu đơn giản 38

Hình 3-7: Tái sử dụng các định nghĩa 39

Hình 3-8:Sơ đồ đối sánh mức ngôn ngữ (linguistic matching) 41

Hình 3-9: Sơ đồ thuật toán đối sánh kết hợp 45

Hình 3-12: Tổng hợp kết quả 49

Hình 3-13: SimCube theo phương pháp đối sánh kết hợp 50

Hình 3-15: Kết quả sau khi thực hiện Direction và Selection 50

Hình 3-16:Kết quả sau khi tổng hợp 51

Hình 3-19: Sự phụ thuộc của hệ số tương tự vào ngữ cảnh 55

Hình 3-23: VNMatch Framework (đề xuất) 73

Mục lục các công thức

Công thức 1: Cupid, hệ số tương tự của hai tập hợp 19

Công thức 3 19

Công thức 4 19

Công thức 2: Công thức EditDistance biến đổi 42

Công thức 3: Lấy Max 47

Công thức 4: Lấy theo trọng số 47

Công thức 5: Lấy theo trung bình 47

Công thức 6: AverageSim 49

Công thức 7: DiceSim 49

Công thức 8: Wsim cho các node lá 54

Công thức 9: Liên kết mạnh 54

Công thức 10: ssim trong trường hợp là các node trong 54

Trang 4

Bảng các từ viết tắt và thuật ngữ

Global schema Lược đồ tổng thể

“Thân cây”

Hypernym Bao hàm khái niệm thuật

ngữ

“Thực vật” bao hàm khái niệm “Cây”

niệm “thực vật”

của cây

Schema Lược đồ dữ liệu

Schema integration Tích hợp lược đồ

Semantic integration Tích hợp ngữ nghĩa Schema mapping Ánh xạ lược đồ, tương tự

đối sánh lược đồ Schema matching Đối sánh lược đồ Synonym Từ đồng nghĩa

Trang 5

Tóm tắt luận văn Luận văn cao học với đề tài “Tìm hiểu về đối sánh lược đồ và xây dựng ứng

dụng VNMatch” nghiên cứu và tìm hiểu về bài toán đối sánh lược đồ (schema

matching) Bài toán đối sánh lược đồ được áp dụng trong các ứng dụng tích hợp

dữ liệu (data integration), chuyển đổi dữ liệu (data translation), nhà kho dữ liệu

(data warehousing), các ứng dụng web ngữ nghĩa (Web Semantic)

Bài toán đối sánh lược đồ có thể được định nghĩa như sau: “Cho hai lược đồ

S1 và S2 hãy tìm sự tương đồng giữa các phần tử của S1và S2 bằng cách khai thác

tất cả các thông tin tồn tại trong hai lược đồ đó, trong dữ liệu và các nguồn thông

tin hỗ trợ khác”

Luận văn tập trung nghiên cứu các phương pháp đối sánh lược đồ dựa trên

các dự án đã được phát triển của các viện nghiên cứu, trường đại học và công ty

trên thế giới, tìm hiểu và đề xuất một số phương pháp xử lý cho lược đồ được

thiết kế dùng tiếng Việt Đồng thời thiết kế và thi công một hệ thống đối sánh

lược đồ, được gọi là VNMatch VNMatch xử lý đầu vào là hai lược đồ được thiết kế

dùng ngôn ngữ XML Schema, kết quả đầu ra là tập các ánh xạ có sự tương đồng

về mặt ngữ nghĩa giữa các phần tử của hai lược đồ đó

Từ khóa: Schema matching, semantic integration, schema mapping,

matcher; đối sánh lược đồ, ánh xạ lược đồ, tích hợp ngữ nghĩa, tích hợp dữ liệu

Mục tiêu chính của luận văn tốt nghiệp này là nghiên cứu về bài toán đối sánh lược đồ (schema matching) Đối sánh lược đồ là quá trình xác định ngữ nghĩa tương ứng giữa các cấu trúc siêu dữ liệu (metadata) như lược đồ của cơ sở

dữ liệu, XSD, Ontology Đối sánh lược đồ đóng vai trò quan trọng trong các việc tương tác giữa các dịch vụ với nhau và trong ứng dụng tích hợp dữ liệu, Data warehouse, E-Business

Trang 6

1 Đối sánh lược đồ

Một lược đồ là một cấu trúc siêu dữ liệu để mô tả dữ liệu được lưu giữ, truy

cập, diễn dịch bởi người dùng và các ứng dụng như thế nào Ngoài các khía cạnh

liên quan đến quản lý dữ liệu như định dạng dữ liệu, kiểu dữ liệu, lược đồ còn có

sự mở rộng liên quan đến ngữ nghĩa của dữ liệu như tập các giá trị cho phép, các

yếu tố tập hợp, toàn vẹn và ràng buộc tham chiếu… Hiện tại có nhiều ngôn ngữ

biểu diễn lược đồ đã được phát triển cho các lĩnh vực ứng dụng khác nhau, ví dụ

như SQL, DTD, XSD, OWL Mặc dù có nhiều khả năng và ngôn ngữ biểu diễn khác

nhau nhưng lược đồ đã xuất hiện có thể nói là khắp nơi trong hầu hết các ứng

dụng về quản lý dữ liệu và xử lý dữ liệu

category publishDate org_id

Hình 1-1 minh họa cho việc tích hợp dữ liệu sử dụng kịch bản đơn giản

trong đó ta muốn tích hợp nguồn dữ liệu S vào nguồn dữ liệu T Cả S và T đều

chứa thông tin về cơ sở dữ liệu văn bản pháp quy nhưng trong S người ta dùng

hai bảng để biểu diễn, còn trong T người ta sử dụng 1 bảng để biểu diễn, công

việc của chúng ta là xây dựng quá trình tự động ánh xạ các phần tử tương đương

giữa các phần tử của S với các phần tử của T: S-›category ‹-› T-›Topic

Quá trình tự động này người ta gọi chung là đối sánh lược đồ (schema matching) Nó là chìa khóa trong các ứng dụng tích hợp dữ liệu và chuyển đổi dữ liệu

2 Sự hỗn tạp ngữ nghĩa

Việc xác định các thành phần tương đương nhau giữa hai lược đồ cần sự phân tích ngữ nghĩa trong các lược đồ đó hay nói cách khác chính là sự suy diễn ngược lại các khái niệm về lược đồ của người tạo ra nó Qúa trình này nếu có thể thực hiện được thì sẽ gặp rất nhiều khó khăn vì sự xung đột giữa các nguồn thông tin hỗn tạp cần được xem xét, ví dụ như lược đồ, dữ liệu, tài liệu đặc tả, tình trạng dữ liệu… Việc trích lọc ngữ nghĩa chính xác từ các thông tin metadata này

một cách tự động thực sự là một việc nặng nhọc và không có một phương pháp chuẩn nào để thực hiện

Lược đồ cung cấp nhiều thông tin mà chúng ta có thể khai thác chúng để thu nhận được ngữ nghĩa của các phần tử chứa trong lược đồ đó Ví dụ như các thuộc tính name, description, constraints…Tuy nhiên các thông tin này có thể khác nhau giữa các lược đồ, chúng phụ thuộc vào ngôn ngữ biểu diễn, cấu trúc biểu diễn, Vì các lược đồ thường được thiết kế bởi những người khác nhau với những nhận thức khác nhau về thế giới thực cho các mục đích khác nhau Dưới đây chúng ta tìm hiểu và phân loại những khó khăn, thách thức gặp phải khi nghiên cứu về giải pháp cho bài toán đối sánh lược đồ

Cho 2 cơ sở dữ liệu với hai lược đồ tương ứng S , T Chúng ta phải xử lý để

tự động để xác định được sự tương ứng giữa phần tử category trong S với topic trong T, và name trong S với org_name trong T, nghĩa là s trong S và t trong T cùng mô tả chung một khái niệm trong một lĩnh vực nào đó thì chúng được coi là tương đương Điều này là một thách thức cho chúng ta vì một số yếu tố sau:

Lược đồ

• Ngữ nghĩa của các phần tử chỉ được suy diễn từ một số ít các thông tin như người tạo, chú thích, các lược đồ và dữ liệu liên quan Trích lọc ngữ nghĩa

Trang 7

từ các thông tin như vây thực sự là bài toán khó vì những thông tin

metadata đó thường không được đầy đủ và chính xác, chú thích không đủ,

không phù hợp, trong nhiều trường hợp xây dựng các hệ thống tích hợp dữ

liệu qua Web những thông tin metadata đó còn không thể truy cập được

• Do các phần tử của lược đồ thường được đối sánh dựa trên các thông tin hỗ

trợ trong lược đồ và dữ liệu Ví dụ như name, type, value, cấu trúc và các

ràng buộc, nhưng các thông tin này không thực sự có thể tin cậy được Ví

dụ các một từ có thể mô tả hai khái niệm khác nhau trong thế giới thực

hoặc ngược lại, một khái niệm được phân rã mức chi tiết với cấu trúc khác

nhau

• Các ràng buộc toàn vẹn thực tế thường được xử lý trong các chương trình

truy cập dữ liệu chứ nó không được thể hiện trong lược đồ

• Để xác định được phần tử s trong S được match với t trong T thì một là

phải kiểm tra trong tất cả các phần tử trong T để không có phần tử nào

khác trong T tốt hơn s Điều này ảnh hưởng lớn đến hiệu năng của qúa

trình tích hợp

Dữ liệu

Đối với dữ liệu chúng ta còn gặp các trở ngại sau

• Các giá trị khác nhau được sử dụng cho cùng một thông tin, ví dụ như F và

Female để biểu diễn thông tin giới tính chẳng hạn

• Các giá trị được lưu giữ không nhất quán về định dạng, ví dụ như sử dụng

Kb và Mb để lưu giữ kích thước dữ liệu chẳng hạn

• Dữ liệu không nhất quán về thời gian

• Dữ liệu có thể chứa lỗi, sai chính tả, thiếu giá trị, dư thừa

Dưới đây là một số hình ảnh thể hiện sự xung đột giữa các lược đồ

Hình 1-2: Xung đột ngôn ngữ

Trang 8

3 Định nghĩa bài toán

Bài toán đối sánh lược đồ có thể được định nghĩa như sau: “Cho hai lược đồ

S1và S2 hãy tìm sự tương đồng nhất giữa các phần tử của S1và S2 bằng cách khai

thác tất cả các thông tin tồn tại như trong lược đồ, trong dữ liệu và các nguồn

thông tin hỗ trợ ” Bài toán cần phải được giải quyết tới chừng nào có thể theo ý

nghĩa của sự tự động Mục tiêu chính là giảm các thao tác thủ công nhiều nhất có

thể để tránh việc giải quyết bài toán đối sánh rất hỗn tạp

3.1 Lược đồ

Trong các thao tác đối sánh, các lược đồ đầu vào chỉ ra các phần tử cần

được đối sánh Vì vậy ta cần xem xét một số loại lược đồ điển hình và các phần tử

của nó Tùy thuộc vào lĩnh vực của ứng dụng lược đồ có thể tồn tại dưới nhiều

định dạng và ngôn ngữ khác nhau như SQL, UML, DTD, OWL

• SQL (Structured Query Language): Định nghĩa lược đồ cho cơ sở dữ liệu

quan hệ

• XSD (XML Schema Definition): Định nghĩa cho các tài liệu có cấu trúc XML

để trao đổi qua môi trường Web

• OWL (Web Ontology Language): Định nghĩa Ontology cho Sematic Web

CREATE TABLE Document(

docID INT,signerID INT,content TEXT, PRIMARY KEY (docID ), FOREIN KEY (signerID) REFERENCES Users(userID )) ;

CREATE TABLE Users(

userID INT,firstname VARCHAR(200),lastname VARCHAR(200),birthday DATE,PRIMARY KEY (userID));

<xsd:elementname=“Document" type=“Doc"/>

<xsd:complexTypename=“Doc">

<xsd:sequence>

<xsd:elementname=“docID" type="xsd:decimal"/> <xsd:elementname=“contents" type="xsd:string"/> <xsd:elementname=“signerID" type="Users"/>

</xsd:complexType>

Hình 1-3: Lược đồ

3.2 Đầu vào bài toán (Input)

Bài toán đối sánh lược đồ bao gồm các loại thông tin đầu vào để có thể tính toán mức độ tương đồng như sau

• Thông tin lược đồ: Các thông tin như name, data type, description constraint

• Dữ liệu: Trong các ứng dụng tích hợp dữ liệu, chuyển đổi dữ liệu thì dữ liệu luôn đi kèm với lược đồ và chúng cũng được khai thác để xác định ngữ nghĩa cho các phần tử lược đồ

• Thông tin hỗ trợ: Tất cả các loại thông tin khác mà chúng ta có thể khai thác cho quá trình đối sánh lược đồ Các thông tin hỗ trợ như từ điển đồng nghĩa, domain …

3.3 Đầu ra bài toán (Output)

Với đầu vào là 2 lược đồ S1, S2 bài toán cần đưa ra kết quả là một tập các phần tử ánh xạ giữa 2 lược đồ đó, ta gọi các phần tử này là co-elenment Mỗi co-elenment được ánh xạ với một hoặc vài phần tử của S1, S2 Mỗi co-elenment

Trang 9

trong có thể chứa một biểu thức đối sánh để chỉ ra mối liên hệ giữa các phần tử

của S1, S2 Chúng ta hãy xem xét một số khía cạnh của các biểu thức này

• Ngữ nghĩa: Các biểu thức ánh xạ có thể là các biểu thức vô hướng, các

quan hệ về mặt thuật ngữ, các quan hệ hướng đối tượng, các hàm biểu

diễn mối liên quan giũa các phần tử

• Trực tiếp hay gián tiếp: Các phần tử được ánh xạ trực tiếp giữa chúng hoặc

gián tiếp thông qua các biểu thức

3.4 Kiến trúc chung

Kiến trúc chung của bài toán đối sánh lược đồ được mô tả trong hình dưới:

Schemas, Mappings, Auxiliary sources

Hình 1-4: Kiến trúc chung của bài toán đối sánh lược đồ

Kiến trúc này tương thích với nhiều lĩnh vực ứng dụng khác nhauh cho nhiều loại lược đồ khác nhau Đầu vào của hệ thống là các lược đồ và các thông tin hộ trợ việc đối sánh như: Từ điển, Ontology, Các hệ số tương tự giữa các kiểu

dữ liệu … Phần xử lý bao gồm các thao tác chuyển đổi biểu diễn của lược đồ thành cấu trúc biểu diễn lược đồ bên trong của hệ thống, có thể là dạng đồ thị Tiếp theo là các thuật toán đối sánh đối với các lược đồ đã được biểu diễn dưới cấu trúc bên trong của hệ thống Cuối cùng là kết quả đối sánh và các thao tác

xử lý kết quả đó như chuyển đổi định dạng biểu diễn, kết xuất cho các ứng dụng Các ứng dụng của hệ thống sau khi đã có kết quả đối sánh bao gồm nhiều lĩnh vực ứng dụng khác nhau như Tích hợp dữ liệu chuyển đổi dữ liệu, Semantic Web …

4 Ứng dụng của bài toán đối sánh lược đồ

Để nêu lên vai trò quan trọng của bài toán đối sánh lược đồ, chúng ta sẽ xem xét một vài ứng dụng về cở sở dữ liệu để minh họa

4.1 Các ứng dụng tích hợp dữ liệu và nhà kho dữ liệu

Tích hợp lược đồ là một trong những mục tiêu quan trọng nhất của bài toán đối sánh lược đồ Vấn đề này đã được nghiên cứu từ đầu những năm 80, nó xuất hiện khi người ta cần xây dựng một hệ thống cơ sở dữ liệu bao gồm một vài hệ thống cơ sở dữ liệu khác nhau và thiết kế lược đồ của cơ sở dữ liệu đó (global schema) từ các lược đồ địa phương (local schema) Trong ngữ cảnh của ứng dụng trí tuệ nhân tạo hoặc Web ngữ nghĩa, tích hợp lược đồ tương đương với bài toán trộn các ontology được phát triển độc lập để xây dựng một cơ sở tri thức tích hợp

Trang 10

Hình 1-5: Minh họa hệ thống tích hợp dữ liệu giúp người dùng tìm văn bản

Hình 2-3 minh họa cho hệ thống tích hợp dữ liệu văn bản để trợ giúp người

dùng tìm được văn bản cần thiết Với truy vấn người dùng tới lược đồ trung gian

(Mediated schema), hệ thống sẽ sử dụng tập các ánh xạ ngữ nghĩa giữa lược đồ

trung gian và các lược đồ địa phương của nguồn dữ liệu để chuyển đổi thành truy

vấn trên các nguồn dữ liệu Sau khi thực hiện truy vấn trên các nguồn dữ liệu sẽ

tổng hợp kết quả và trả lại cho nguời dùng

Các ứng dụng chia sẻ dữ liệu trình bày ở trên đang xuất hiện rất nhiều

trong các lĩnh vưc hiện nay như thương mại điện tử, sinh học, và trong Ubicomp

Internet đã mang lại hàng triệu nguồn dữ liệu và cần phải tạo khả năng chia sẻ

dữ liệu giữa chúng

Documents DB1Documents DB2

Trang 11

XML hoặc bất kỳ định dạng nào Để hệ thống trao đổi được các message đó, các

ứng dụng cần phải chuyển đổi được các message từ định dạng này sang định

dạng khác Điều này chính là động lực cho bài toán đối sánh lược đồ phát triển để

chuyển đổi các message

4.3 Semantic Web

Tốc độ phát triển của Internet nhanh như hiện nay với lượng thông tin

khổng lồ khiến chúng ta rất khó khai thác và sử dụng hiệu quả Bởi vì các thông

tin trên Web hiện nay được thiết kế chủ yếu cho con người đọc và sử dụng chứ

không phải máy tính, nghĩa là máy tính không thể hiểu được nội dung Mục đích

của Semantic Web là làm giàu các tài liệu Web hiện nay bằng các mô tả ngữ

nghĩa nhằm mục đích máy tính có thể hiểu được để có thể tự động hóa tối đa các

thao tác mà con người phải xử lý với dữ liệu Quá trình làm giàu hay được gọi chú

thích (annotation) ngữ nghĩa cho các tài liệu Web sử dụng các Ontology

Một Ontology định nghĩa các thuật ngữ được sử dụng để biểu diễn một lĩnh

vực tri thức nào đó Ontology được sử dụng trong cơ sở dữ liệu, trong các ứng

dụng và kể cả trong cuộc sống hằng ngày để chia sẻ thông tin về một lĩnh vực cụ

thể nào đó Ontology bao gồm các định nghĩa mà máy có thể hiểu được của các

khái niệm cơ bản và quan hệ giữa chúng trong một lĩnh vực cụ thể

Tuy nhiên các tài nguyên trên Web (Ví dụ Website, web service ) khác

nhau không chắc sử dụng cùng một Ontology, vì vậy việc truy vấn và khai thác

các tài nguyên Web này cần thực hiện qua một ontology trung gian, Ontology

trung gian là ánh xạ của các ontology địa phương Như vậy đối sánh ngữ nghĩa

của các khái niệm trong các ontology cần được xử lý để có thể thực hiện truy vấn

trên ontology trung gian

5 Các vấn đề mở

Mặc dù còn có nhiều các nghiên cứu hiệu quả trong bài toán đối sánh lược

đồ nhưng phần lớn các thao tác đối sánh vẫn được thực hiện thủ công bởi các chuyên gia trong lĩnh vực làm việc của họ Điều này xảy ra bởi vì các giải pháp tự động hoặc bán tự động vẫn chưa thỏa mãn yêu cầu người dùng Trong phần này tôi trình bày một số vấn đề còn đang được nghiên cứu trong lĩnh vực đối sánh lược đồ Tuy nhiên tôi chỉ tổng hợp được một số các vấn đề qua các bài báo cũng như các dự án nghiên cứu về lĩnh vực này Những thông tìn tổng hợp này có thể

đủ hoặc không đủ về tất cả những nghiên cứu trước đây và hiện tại

5.1 Khả năng biểu diễn của ngôn ngữ

Các ngôn ngữ biểu diễn lược đồ hiện đại như XML schema, SQL (1999,2003) hỗ trợ rất nhiều khả năng mô hình hóa như các kiểu dữ liệu được định nghĩa bởi người dùng, tổng hợp, suy diễn, tái sử dụng đối tượng, phân tán

và namespace… Các tính năng nâng cao này chính là dấu hiệu cho sự phức tạp của bài toán đối sánh lược đồ Hầu hết các kiểu thiết kế lược đồ có thể được sử dụng như một sự lựa chọn để biểu diễn các khái niệm trong thế giới thực, nên dẫn tới sự khác nhau về ngữ nghĩa, cấu trúc trong lược đồ Vì vậy đối sánh lược

đồ với các lược đồ được biểu diễn bằng ngôn ngữ nâng cao đã trở thành một thách thức vì nó phụ thuộc và khả năng hợp nhất của các kiểu thiết kế khác nhau

5.2 Làm việc với các lược đồ có kích thước lớn

Các lược đồ trong thế giới thực ngày càng lớn về kích thước và độ phức tạp

để đương đầu với các yêu cầu về biểu diễn và quản lý dữ liệu Hơn nữa các lược

đồ thường sử dụng các chung thành phần (shared element) để tránh các đặc tả khác nhau và giữ cho lược đồ ở mức đơn giản nhất có thể phục vụ cho việc bảo trì

và vận hành được tốt hơn Cuối cùng, các thao tác đối sánh cần kiểm tra trên một

Trang 12

không gian tìm kiếm lớn để xác định các phần tử tương đương, vì vậy cần phải

tìm ra các phương pháp hiệu quả tốt nhất có thể

5.3 Sự kết hợp của các phương pháp đối sánh

Để thu được các kết quả đối sánh với độ chính xác cao thì việc sử dụng một

thuật toán đơn lẻ sẽ không thành công Như vậy cần sự kết hợp của nhiều thuật

toán, phương pháp với nhau, vì vậy hầu hết các kết quả trước đây đều sử dụng

khái niệm đối sánh kết hợp (hybrid và composition) của nhiều thuật toán Hybrid

sử dụng các thuật toán để xây dựng thành một thuật toán đơn còn Composition

sử dụng kết quả của một vài thuật toán khác nhau để tổng hợp

Chương 2 Các phương pháp tiếp cận

Trong phần này tôi trình bày về các dự án nghiên cứu về lĩnh vực như data warehouse, data integration,… Trong đó hầu hết các dự án đều sử dụng đối sánh lược đồ như một module trung tâm để xử lý dữ liệu

1 Các dự án liên quan

1.1 COMA++

COMA (Combination of Matching algorithms) [7] là công cụ đối sánh lược

đồ kết hợp (Composite) COMA cung cấp thư viện các thuật toán đối sánh, cung cấp framework để kết hợp các phương pháp đối sánh và một nền tảng cơ sở để đánh giá hiệu quả của các phương pháp khác nhau COMA++ được xây dựng trên ngôn ngữ Java, MySQL COMA++ đã được sử dụng trong hệ thống tích hợp

dữ liệu về thông tin trong ngành sinh học

Hình 2-1: Kiến trúc COMA++

Trang 13

1.2 SEMINT

SEMINT là hệ thống đối sánh lược đồ dựa trên dữ liệu (instance-based) Nó

bao gồm 15 tiêu chuẩn dựa trên ràng buộc và 5 tiêu chuẩn dựa trên nội dung

(content-based) được hình thành từ các bản ghi dữ liệu và được chuẩn hóa trong

khoảng [0,1], mỗi thuộc tính là một điểm trong một không gian 20 chiều Đối

sánh lược đồ bằng cách tạo các ánh xạ giữa các phần tử độc lập sử dụng mạng

neuron SemInt không hỗ trợ đối sánh dựa trên ngôn ngữ

1.3 LSD

LSD (Learning source description) sử dụng phương pháp composite để kết

hợp các thuật toán đối sánh khác nhau Nó dựa trên domain cụ thể của lược đồ

tổng thể để so sánh với các lược đồ mới được đối sánh Học máy (machine

learning) được sử dụng cho các các thuật toán độc lập và kết hợp các kết quả

Đối với đối sánh cho thuộc tính name, LSD sử dụng phương pháp đối sánh dựa

trên instance

1.4 SKAT

SKAT (Semantic knowledge articulation tool) thực hiện đối sánh dựa trên

lược đồ (schema-based) sử dụng các luật Các luật là các biểu thức trong logic vị

từ để thể hiện các quan hệ tương đương, không tương đương và các hàm được

định nghĩa để sinh ra các luật đối sánh mới

1.5 TransScm

TransScm sử dụng phương pháp schema-based để thực hiện việc chuyển

đổi dữ liệu Lược đồ đầu vào (DTD hoặc OODB) được biểu diễn dưới dạng đồ thị

Các luật được xây dựng bởi người quản trị được áp dụng vào các node của đồ thị

Quá trình đối sánh được thực hiện theo mô hình top-down và đối sánh từng node

một với nhau với quy luật là các node cha sẽ cần kết quả đối sánh của các node

con

• Tự động chuyển đổi dữ liệu giữa các lược đồ instance

• Các lược đồ đầu vào được biểu diễn như các đồ thị gán nhãn

1.6 DIKE

Hệ thống DIKE tích hợp nhiều lược đồ quan hệ bằng cách khai thác yếu tố tương tự giữa hai phần tử của lược đồ phụ thuộc vào sự tương tự của các phần tử hàng xóm Đây là hệ thống đối sánh dựa trên cấu trúc (Structure-based), đối sánh từng cặp của các phần tử đầu vào Số cạnh của của đường dẫn ngắn nhất giữa các phần tử được sử dụng như khoảng cách để xác định các phần tử liên quan

• Thuật toán tự động xác định quan hệ ngữ nghĩa (synonymy,hypernymy,homonymy) giữa các phần tử của các lược đồ

ER

1.7 SIMILARITY FLOODING

SIMILARITYFLOODING[10] chuyển đổi các lược đồ (Rational, RDF, XML) vào trong một đồ thị gán nhãn và tính toán theo kiểu fix-point để xác định tương ứng địa phương 1:1 và m:n giữa các node của đồ thị Thuật toán sử dụng phương pháp đối sánh hybrid với một bộ đối sánh đơn giản cho các thuộc tính name Không giống các phương pháp đối sánh dựa trên lược đồ khác, SIMILARITYFLOODING không khai thác các quan hệ thuật ngữ trong các từ điển ngoài như (synonym, wordnet …) mà chỉ dựa trên thuộc tính name Thuật toán chính được sử dụng trong SIMILARITYFLOODING là đối sánh dựa trên cấu trúc

1.8 Cupid

Cupid [3] là hệ thống đối sánh kết hợp (hybrid) bao gồm kỹ thuật đối sánh trên mức ngôn ngữ và cấu trúc Thuật toán đối sánh lược đồ ánh xạ giữa các phần tử của lược đồ dựa trên tên, kiểu dữ liệu, các ràng buộc, cấu trúc của lược

đồ và sự trợ giúp của từ điển đồng nghĩa Cupid nhắm vào việc tính toán hệ số tương tự giữa các các phần tử của 2 lược đồ và đưa ra sự ánh xạ từ các hệ số này

Trang 14

• Tự động đối sánh dựa trên ngôn ngữ

• Đối sánh dựa trên cả phần tử và cấu trúc

• Hướng tới sự tương tự của các phần tủ nguyên tố (Ví dụ như các lá),

vì vậy ngữ nghĩa của lược đồ sẽ được thu nhận nhiều hơn

• Khai thác các khóa (key), các ràng buộn và các view

Đối sánh mức ngôn ngữ sẽ so sánh các phần tử của lược đồ một các độc

lập dựa trên tên, kiểu dữ liệu, lĩnh vực Chúng ta sẽ sử dụng một từ điển gần

nghĩa (thesaurus) để trợ giúp việc so sánh các name bằng cách xác định các từ

rút gọn, các từ viết tắt, và các từ đồng nghĩa

Đối sánh ngôn ngữ trong Cupid được chia thành 3 bước sau:

1 Chuẩn hoá (Normalization): Trong bước này chúng ta chuẩn hoá phần tử,

phân tích phần tử bằng cách tokenization (phân tích các phần tử dựa trên

dấu chấm câu, chữ hoa, chữ thường ) Trong bước này ta sử dụng từ

điển đồng nghĩa

2 Phân loại theo các phần tử (Categorization): Các phần tử của lược đồ được

phân loại thành các nhóm khác nhau, sự phân loại này được dựa trên kiểu

của dữ liệu (datatype), tên của thuộc tính (name) Một phần tử có thể

thuộc nhiều loại

3 So sánh (Comparison): Trong bước này sẽ tính toán một hệ số gọi là hệ số

tương tự về ngôn ngữ giữa các phần tử (linguistic similarity-ls)

Kết quả của pha này là một bảng các hệ số lsim của các phần tử giữa hai

lược đồ Hệ số lsim nằm trong khoảng [0,1] Nếu lsim = 1 thì hai phần tử

hoàn toàn tương đương nhau

Để so sánh độ tương tự của hai chuỗi đầu vào dựa trên phân tích token,

Cupid sử dụng công thức sau

Công thức 1: Cupid, hệ số tương tự của hai tập hợp

21

)2,1(

*)11(2

)2,1(

*)22(1

)2,1(

T T

t t sim T t T t t t sim T t T t T T ns

+

∑ ∈+

∑ ∈

=Chú thích:

Các thuộc tính được phân tích thành các từ (word) hay token, ta có một tập các token để biểu diễn các phần tử của lược đồ

1.Chọn một token từ phần tử thứ nhất 2.Tìm kiếm token giống nhất với token đã cho

3.Thực hiện 1) và 2) đối với mọi token của phần tử thứ nhất và tính tổng độ giống nhau

4 Thực hiện 1) 2) 3) cho phần tử thứ 2 5.Chuẩn hóa 2 tổng với tổng số token của phần tử thứ nhất và thứ hai

Đánh giá theo category Cho w1 … w2 là hệ số ưu tiên theo category với ∑w i=1Công thức 2: Cupid, đánh giá theo Category

,(),

, 2 1 2 1

2

T T ns A A ns A A lsim

C

T

=Đây là công thức cho ra kết quả cuối cùng của đối sánh dựa trên ngôn ngữ

Trang 15

2 Các phương pháp đối sánh lược đồ

Đã có rất nhiều các nghiên cứu trong nhiều lĩnh vực khác nhau như chuyển

đổi và tích hợp lược đồ (schema translation, schema integration), biểu diễn tri

thức, học máy và các hệ thống thu thập thông tin nhắm tới mục đích tự động quá

trình đối sánh lược đồ nhiều nhất có thể Mục đích của phần này giới thiệu các

phương pháp tiếp cận trong các lĩnh vực đó, các đặc điểm chung và ứng dụng của

Trong phần tiếp theo, tôi trình bày các tiêu chí phân loại cho bài toán đối

sánh lược đồ được tham khảo trong [6]

2.1 Tiêu chuẩn phân loại

Bài toán đối sánh lược đồ đã được nghiên cứu trong một thời gian dài, và

đã có nhiều ứng dụng cụ thể áp dụng bài toán này

Hình 3 minh họa các phương pháp đối sánh lược đồ đã được nghiên cứu và phát

triển trong các ứng dụng cụ thể

Hình 2-2: Các phương pháp đối sánh lược đồ

Chúng ta phân biệt các phương pháp đối sánh dựa trên phương pháp tiếp cận mà chúng sử dụng

• Schema-based ›‹ Instance-based: Schema-based chỉ sử dụng các

thông tin chứa trong lược đồ như metadata, name, type, description Còn Instance-based sử dụng dữ liệu để trích lọc ngữ nghĩa (contents)

• Element-based ›‹ Structural-based: Element-based là quá trình đối

sánh có thể thực hiện trên từng phần tử trong lược đồ một cách độc lập, ví

dụ như các thuộc tính (attributes) Structural-based thực hiện đối sánh có

sự kết hợp các phần tử lại với nhau

• Linguistic ›‹ Constraint: Đối sánh có thể sử dụng cách tiếp cận ngôn ngữ

như so sánh các thuộc tính name, description hoặc sử dụng cách tiếp cận ràng buộc như xem xét cả ràng buộc định nghĩa trên các phần tử như kiểu

dữ liệu, unique, key…

• Hybrid ›‹ Composite: Để có một kết quả đối sánh tốt hơn người ta

thường kết hợp một vài cách tiếp cận với nhau Các cách tiếp cận này có thể được thực hiện trong một bộ đối sánh hybrid hoặc kết hợp các kết quả đối sánh của các cách tiếp cận độc lập (composite)

2.2 Đối sánh dựa trên lược đồ (schema-based)

Phương pháp đối sánh dựa trên lược đồ chỉ xem xét các thông tin về lược

đồ, tùy thuộc vào việc sử dụng ngôn ngữ định nghĩa lược đồ các ta có các thuộc tính khác nhau của phần tử lược đồ như name, description, data type, constraints, và các quan hệ giữa chúng Tiếp theo tôi trình bày về bộ đối sánh dựa trên ngôn ngữ và ràng buộc, phương pháp tiếp cập chung đối với mức element để so sánh các thuộc tính của các phần tử lược đồ để xác định độ tương đồng giữa chúng

Trang 16

2.2.1 Phương pháp tiếp cận dựa trên ngôn ngữ (linguistic)

Phương pháp này chủ yếu xem xét các thuộc tính dạng chuỗi ký tự của các

phần tử lược đồ như name, description.Thuộc tính name có thể được so sánh qua

2 dạng là cú pháp (syntactic) và ngữ nghĩa (semantic)

Đối sánh thuật ngữ name dựa trên cú pháp là tính toán độ tương đồng chỉ

dựa trên các chuỗi biểu diễn name Có nhiều thuật toán đã được phát triển ứng

dụng cho các lĩnh vực khác như sửa lỗi chính tả (spelling correction), thu thập

thông tin … Trong đó đặc biệt 3 thuật toán sau: EditDistance, N-Gram, SoundEx

đã được áp dụng vào bài toán đối sánh lược đồ

• EditDistance (Levenstein):Sử dụng kỹ thuật quy hoạch động, độ tương

đồng của 2 chuỗi được tính từ số lần thực hiện các thao tác: xóa, thêm,

thay thế của một ký tự cần thiết để chuyển một chuỗi này thành chuỗi kia

• N-Gram: Chuỗi được so sánh theo tập n-gram của nó Ví dụ chuỗi doc và

document là tương tự theo tập tri-gram, {doc} và

{doc,ocu,cum,ume,men,ent} chia sẻ phần tử doc

• SoundEx: Phương pháp này tính độ tương đồng âm giữa các name tương

ứng với mã SoundEx Phương pháp này hiệu quả cho các từ được viết khác

nhau có khả năng giống nhau,ví dụ document, documentation

Đối sánh dựa trên ngữ nghĩa sử dụng các quan hệ về mặt thuật ngữ để ước

lượng độ tương đồng giữa các name như synonymy, hypernymy, hyponymy ví dụ

từ Car và automobile là đồng nghĩa nên tương tự nhau Cách tiếp cận này cần trợ

giúp của các thông tin hỗ trợ như từ điển, thesaurus, ontology hoặc các bảng định

nghĩa từ đồng nghĩa cho các ngôn ngữ khác nhau

Ngoài ra trên thực tế các lược đồ còn có nhiều sự hỗn tạp mà chúng thường gặp

như:

• Từ được ghép bởi nhiều từ khác: Ví dụ Org_Sender

• Từ được viết gọn lại: Ví dụ Org có nghĩa là Organization

• Từ có nhiều nghĩa

2.2.2 Phương pháp tiếp cận dựa trên ràng buộc

Các lược đồ thường chứa các thông tin ràng buộc như size, data type, key, range, unique… cho mỗi phần tử Nếu các thông tin này xuất hiện trong cả hai

lược đồ thì nó sẽ được khai thác để ước lượng độ tương đồng Ví dụ có thể tính

toán độ tương đồng giữa hai phần tử dựa trên data type, key…

Đối với các thông tin này, cách tiếp cận chung là tạo một bảng trong đó chứa hệ

số tương tự của các ràng buộc Ví dụ như kiểu String và kiểu varchar là hoàn toàn tương tự nhau

2.2.3 Phương pháp tiếp cận dựa trên cấu trúc

Phương pháp tiếp cận này khai thác các quan hệ giữa các phần tử và đối sánh kết hợp các phần tử xuất hiện trong cùng một cấu trúc Phụ thuộc vào các ngôn ngữ mô tả lược đồ khác nhau mà có các kiểu quan hệ giữa các phần tử khác nhau Ví dụ như các quan hệ is-a/part-of, hoặc các ràng buộc tham chiếu Thông thường lược đồ được biểu diễn dưới dạng đồ thị (có hướng hoặc vô hướng) Để xác định độ tương đồng giữa các phần tử người ta thường sử dụng khái niệm phần tử hàng xóm (element neighborhood) để hạn chế phạm vi khi so sánh các phần tử

2.3 Đối sánh dựa trên dữ liệu

Phương pháp này duyệt qua các bản ghi dữ liệu để xác định sự tương ứng

và được chọn khi các thông tin trong lược đồ bị giới hạn hoặc trong trường hợp dữ liệu được biểu diễn dưới dạng bán cấu trúc Trong trường hợp đặc biệt không có lược đồ người ta phải xây dựng nó từ các dữ liệu đã có, trường hợp này người ta phải sử dụng các kỹ thuật được gọi là trích lọc lược đồ Ngay cả khi có lược đồ thì thông tin về dữ liệu cũng có thể được xem xét để tăng khả năng khai thác ngữ nghĩa trong lược đồ

Đối với phương pháp này, kích thước dữ liệu đầu vào bài toán lớn hơn nhiều so với lược đồ nên thời gian thực hiện đối sánh cũng là một trong những vấn đề cần quan tâm

Trang 17

2.4 Đối sánh kết hợp

Đối sánh chỉ sử dụng một phương pháp tiếp cận sẽ không thích hợp để cho

ra một kết quả tốt với sự đa dạng của lược đồ Vì vậy hầu hết các hệ thống đối

sánh lược đồ hiện tại đều kết hợp sử dụng nhiều phương pháp đối sánh Đối sánh

kết hợp có thể được thực hiện theo hai cách khác nhau là hybrid hoặc composite

Hybrid tích hợp nhiều cách tiếp cận vào trong engine trong khi composite kết hợp

kết quả của nhiều cách tiếp cận độc lập lại với nhau Trong hầu hết các hệ thống

có sử dụng đối sánh lược đồ đều sử dụng đối sánh kết hợp (Cupid)

2.5 Match Cardinality

Kết quả đối sánh giữa hai lược đồ S1 và S2 là tập các co-element giữa các

phần tử của nó, một phần tử S1 (S2) có thể tồn tại trong nhiều co-element Hơn

nưa, một hay nhiều phần tử S1 có thể tương đương với một hoặc nhiều phần tử

của S2 Vì vậy chúng ta có các quan hệ về số lượng 1:1 1:n, n:1, m:n

m:n P.PersName,

P.DeptNoD.DeptNo,

D.DeptName

A.Person, A.Department

SELECT P.PersName, D.DeptNameFROM P, D WHERE

P.DeptNo=D.DeptNo = {A.Person,

A.Department}

Bảng 1: Đối sánh dựa trên số lượng phần tử

2.6 Các hệ số mặc định trong bài toán đối sánh

Trong các phương pháp đối sánh đã trình bày ở trên trong các dự án cụ thể đều có sử dụng các hệ số mặc định để chỉ ra sự tương tự giữa các phần tử theo các tiêu chí đặc biệt Ví dụ bảng hệ số tương tự giữa các phần tử khi so sánh các kiểu dữ liệu của chúng với nhau, với tiêu chí này người ta không xây dựng bất cứ thuật toán nào mà thường sử dụng các hệ số được định nghĩa sẵn Ngoài ra còn các hệ số mặc định để chỉ ra độ ưu tiên của một thuật toán so với thuật toán khác, ví dụ độ ưu tiên của mức ngôn ngữ so với độ ưu tiên của mức cấu trúc

Type(s) Type(t) Datatype_match(s,t)

1 Thực hiện đối sánh bằng tri thức chuyên gia, được kết quả là một tập hợp các ánh xạ giữa các phần tử của hai lược đồ Sexp kết quả thực tế mà bài toán cần hướng tới)

2 Thực hiện đối sánh tự động với hai lược đồ và cũng thu được tập hợp các ánh xạ giữa các phần tử của hai lược đồ Sauto

3 Sẽ có sự khác nhau giữa tập hợp ánh xạ do chuyên gia và tập ánh xạ do máy thực hiện Các hệ số Wdefault sẽ được điều chỉnh sao cho tập Sauto giống với tập Sexp nhất có thể

Trang 18

Hình 2-3: Xây dựng các hệ số ưu tiên

Các hệ số thu được có thể được áp dụng cho nhiều bài toán khác nhau,

thuật toán khác nhau

3 Các phương pháp đánh giá hệ thống đối sánh

Để đánh giá kết quả của các hệ thống đối sánh lược đồ chúng ta có thể sử

dụng các phương pháp sau đây

1 So sánh kết quả đối với kết quả đối sánh của các chuyên gia Đây là một

phương pháp khá hiệu quả và nó thường được sử dụng để xây dựng các hệ

số ưu tiên trong các thuật toán đối sánh Các hệ số được điều chỉnh sao

cho kết quả tự động bằng máy với kết quả của chuyên gia giống nhau

nhất Thực hiện với nhiều lược đồ sẽ thu được các hệ số thực nghiệm tối ưu

nhất

2 So sánh kết quả đối sánh với kết quả của các hệ thống khác

3 Đánh giá tự động: Ký hiệu B là tập các ánh xạ đúng (ánh xạ đúng là ánh

xạ do chuyên gia thực hiện), C: Tập các ánh xạ sai, A tập ánh xạ đúng

nhưng không được thuật toán tìm thấy và D là tập ánh xạ sai được thuật toán loại bỏ

Hình 2-4: Đánh giá hệ thống đối sánh

Ta có hai công thức sau để ước lượng hiệu quả của thuật toán đối sánh

• Cho biết sự tin cậy của thuật toán đối sánh

Precision=

C B

B

+Khi tập A và tập C không tồn tại thì Precision và Recall có giá trị 1 Tuy nhiên một giá trị Recall hoặc Precision thì không thể ấn định được chất lượng của thuật toán đối sánh

Như vậy cần phải xem xét các phương pháp kết hợp hai giá trị trên đối lại với nhau Có một số phương pháp kết hợp đã được xây dựng sau

1 FMeasure(α) được mô tả trong [9]:

FMeasure(α)=

recall precision

recall precision C

B A B

*

*)1(

*

*

*)1

Trong đó 0<α<1 cho phép các giá trị thể hiện sự quan trọng khác nhau đối với Precision và Recall FMeasure(α) hội tụ về Precision khi α=1 và hội tụ về Recall khi α=0

Trang 19

2 FMeasure : Khi Precision và Recall được xem có độ quan trọng bằng nhau

ta có công thức sau

FMeasure=

recall precision recall precision C

B B A

B

+

=+++

*

*

*

3 Overall: Đây là công thức được nêu trong [10] và công thức này được

nhắm vào chính các ứng dụng đối sánh lược đồ

precision recall

B A C B B A C A

=+

=+

+

Để so sánh hai phương pháp FMeasure và Overall ta có hình sau Nhìn vào

đồ thị ta thấy FMeasure tối ưu hơn so với Overall Với cùng giá trị của Precision

và Recall thì FMeasure cao hơn so với Overall Overall nhạy cảm với biến

Precision hơn Khi Precision=0,5 thì Overall=0;

Hình 2-5: So sánh F-Measure và Overall

Trang 20

Chương 3 Thiết kế hệ thống đối sánh lược đồ

1 Khảo sát

Hiện nay các công ty, tổ chức đều có các cơ sở dữ liệu chưa các thông tin

quản lý, tác nghiệp điều hành Đối với các công ty, hoặc các tổ chức có qui mô

lớn, dữ liệu phân tán trên cả mặt logic và vật lý Các tổ chức này thường dùng

các hệ quản trị cơ sở dữ liệu và hệ thống phần mềm khác nhau để quản lý cơ sở

dữ liệu, điều này dẫn đến việc tích hợp dữ liệu các cơ sở dữ liệu này thành một

thể thống nhất gặp rất nhiều khó khăn vì sự hỗn tạp của dữ liệu

Các hệ thống cơ sở dữ liệu thường được dùng bao gồm: Lotus notes, MS

SQL Server, Oracle, MySQL Trong hình dưới đây minh họa sự hỗn tạp của các

nguồn dữ liệu văn bản, đây là một mô hình đang được áp dụng trong các tổ chức

ở Việt Nam hiện nay

Organization 3Organization 2

Organization 1

E-docman App

E-docman

Mediator

Local schema Local schema

Global schema

Hình 3-1: Sự hỗn tạp của các nguồn dữ liệu

Hiện tại nhu cầu về bài toán tích hợp dữ liệu (Data integration) hoặc chuyển đổi dữ liệu (Data translation) một cách tự động hoặc bán tự động là thực

sự cần thiết Trên thực tế các công ty hay tổ chức hiện nay khi xây dựng các ứng dụng có sử dụng dữ liệu đã có sẵn thì thường phải xây dựng một công cụ với các thao tác thủ công (manual) để tiến hành chuyển đổi hoặc tích hợp dữ liệu cũ vào ứng dụng mới Những thao tác thủ công sẽ không lợi ích về mặt kinh tế cũng như

Trang 21

quá trình xử lý sẽ xuật hiện các lỗi thao tác bằng tay Như vậy người ta cần phải

xây dựng các mô hình tự động hoặc bán tự động cho bài toán này để giảm thiểu

Trong hình dưới đây là hai lược đồ về cơ sở dữ liệu văn bản chúng ta có thể nhận ngay ra các xung đột trong hai lược đồ này Vấn đề đặt ra bây giờ là xử

lý các xung đột đó một cách tự động nhiều nhất các thao tác có thể

Hình 3-2:Lược đồ văn bản

2.1 Giới thiệu bài toán đối sánh lược đồ

Đối sánh (Match) là thao tác xử lý 2 lược đồ đầu vào và cho đầu ra một ánh xạ các phần tử phù hợp giữa hai lược đồ Đối sánh lược đồ là bước khó trong nhiều ứng dụng: Trong Thương mại điện tử, trợ giúp ánh xạ các message giữa các định dạng XML khác nhau, trong Datawarehouse, giúp ánh xạ dữ liệu nguồn vào trong các lược đồ của Warehouse…

2.2 Xử lý lược đồ trong tiếng Việt

Trên thực tế trong các ứng dụng về cơ sở dữ liệu ở Việt Nam hiện nay, có rất nhiều các lược đồ được thiết kế sử dụng tiếng Việt, các thuộc tính định danh (identify name) thường sử dụng tiếng Việt không dấu để biểu diễn, còn các các

mô tả thuộc tính có thể là tiếng Việt có dấu hoặc không có dấu Ngoài ra các lược

đồ này còn kết hợp cả tiếng Anh, như vậy việc xử lý các lược đồ này còn gặp rất

Ngày đăng: 13/10/2016, 22:12

HÌNH ẢNH LIÊN QUAN

Bảng các từ viết tắt và thuật ngữ - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Bảng c ác từ viết tắt và thuật ngữ (Trang 4)
Hình 1-1: Đối sánh lược đồ - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 1 1: Đối sánh lược đồ (Trang 6)
Hình 1-4: Kiến trúc chung của bài toán đối sánh lược đồ - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 1 4: Kiến trúc chung của bài toán đối sánh lược đồ (Trang 9)
Hình 1-5: Minh họa hệ thống tích hợp dữ liệu giúp người dùng tìm văn bản - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 1 5: Minh họa hệ thống tích hợp dữ liệu giúp người dùng tìm văn bản (Trang 10)
Hình 2-3 minh họa cho hệ thống tích hợp dữ liệu văn bản để trợ giúp người - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 2 3 minh họa cho hệ thống tích hợp dữ liệu văn bản để trợ giúp người (Trang 10)
Hình 2-1: Kiến trúc COMA++ - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 2 1: Kiến trúc COMA++ (Trang 12)
Hình 2-4: Đánh giá hệ thống đối sánh - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 2 4: Đánh giá hệ thống đối sánh (Trang 18)
Hình 2-5: So sánh F-Measure và Overall - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 2 5: So sánh F-Measure và Overall (Trang 19)
Hình 3-1: Sự hỗn tạp của các nguồn dữ liệu - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 3 1: Sự hỗn tạp của các nguồn dữ liệu (Trang 20)
Hình 3-3: Kiến trúc hệ thống - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 3 3: Kiến trúc hệ thống (Trang 23)
Hình 3-8:Sơ đồ đối sánh mức ngôn ngữ (linguistic matching) - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 3 8:Sơ đồ đối sánh mức ngôn ngữ (linguistic matching) (Trang 25)
Hình 3-10: Phân tích phần tử đầu vào - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 3 10: Phân tích phần tử đầu vào (Trang 28)
Hình 3-12: Tổng hợp kết quả - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 3 12: Tổng hợp kết quả (Trang 29)
Hình 3-19: Sự phụ thuộc của hệ số tương tự vào ngữ cảnh - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 3 19: Sự phụ thuộc của hệ số tương tự vào ngữ cảnh (Trang 32)
Hình 3-23: VNMatch Framework (đề xuất) - TÌM HIỂU VỀ ĐỐI SÁNH LƯỢC ĐỒ VÀ XÂY DỰNG ỨNG DỤNG VNMATCH
Hình 3 23: VNMatch Framework (đề xuất) (Trang 41)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w