1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO GIỮA KỲ WEB NGỮ NGHĨA đề tài tìm hiểu về silk – linked data integration framework

34 13 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 34
Dung lượng 1,76 MB

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

Nội dung

Cụ thể, Silk Framework thường được sử dụng trong các trường hợp sau: o Tạo các liên kết giữa các mục dữ liệu có liên quan với nhau trong các nguồn dữ liệu Linked Data khác nhau o Những n

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÁO CÁO GIỮA KỲ

Danh sách sinh viên:

Hà Nội, 12 - 2021

Trang 2

MỤC LỤC

I GIỚI THIỆU VỀ SILK FRAMEWORK 3

1 Giới thiệu chung 3

2 Các đặc điểm chính của Silk framework 3

II SILK LINK DISCOVERY ENGINE (SLDE) 4

III CÁCH SỬ DỤNG SILK FRAMEWORK 5

1 Command Line Applications 5

1.1 Giới thiệu Command Line Applications 5

1.2 Link Specification Language 5

1.2.1 Data Source 12

1.2.2 Linkage Rule 15

1.2.3 Outputs 23

1.2.4 Reference Links 27

2 Silk Workbench 28

2.1 Giới thiệu Silk Workbench 28

2.2 Sử dụng Silk Workbench 30

2.2.1 Cài đặt Silk Workbench bằng docker 30

2.2.2 Các bước sử dụng 30

IV KẾT LUẬN 34

V TÀI LIỆU THAM KHẢO 34

Trang 3

I GIỚI THIỆU VỀ SILK FRAMEWORK

1 Giới thiệu chung

• Silk là một framework mã nguồn mở, được sử dụng để tích hợp các nguồn dữ liệu không đồng nhất Cụ thể, Silk Framework thường được sử dụng trong các trường hợp sau:

o Tạo các liên kết giữa các mục dữ liệu có liên quan với nhau trong các nguồn dữ liệu Linked Data khác nhau

o Những nhà công bố Linked Data có thể sử dụng Silk để thiết lập các liên kết RDF

từ nguồn dữ liệu của họ đến các nguồn dữ liệu khác trên Web

o Chuyển đổi dữ liệu cho các nguồn dữ liệu có cấu trúc

Dữ liệu trên Web được xây dựng dựa trên hai ý tưởng đơn giản sau:

o Thứ nhất, sử dụng mô hình dữ liệu RDF để công bố dữ liệu có cấu trúc trên Web

o Thư hai, thiết lập các liên kết RDF giữa các thực thể trong các nguồn dữ liệu khác nhau

Silk framework hỗ trợ giải quyết vấn đề thứ hai

• Silk - Link Discovery Framework cung cấp một ngôn ngữ khai báo được gọi là Silk

- Link Specification Language (Silk-LSL) Ngôn ngữ này được các nhà phát triển sử

dụng để chỉ định loại liên kết RDF nên được phát hiện giữa các nguồn dữ liệu cũng như các mục dữ liệu phải đáp ứng các điều kiện nào để được liên kết với nhau Các điều kiện liên kết này có thể áp dụng các độ đo tương đồng khác nhau cho các thuộc tính khác nhau Silk truy cập các nguồn dữ liệu thông qua giao thức SPARQL Do đó, Silk

có thể được sử dụng để khám phá các liên kết giữa nguồn dữ liệu cục bộ và từ xa

• Silk có thể được sử dụng theo hai cách:

o Silk Workbench: là một ứng dụng web cung cấp giao diện cho người dùng

o Command line

2 Các đặc điểm chính của Silk framework

• Cung cấp ngôn ngữ khai báo (Silk-LSL) linh hoạt giúp việc chỉ định các quy tắc liên kết

• Hỗ trợ tạo liên kết RDF

• Làm việc trong môi trường phân tán

• Có thể được sử dụng trong các trường hợp mà các thuật ngữ từ các từ vựng khác nhau bị trộn lẫn và không tồn tại các mô hình RDFS hoặc OWL nhất quán

• Khả năng mở rộng và hiệu suất cao thông qua xử lý dữ liệu hiệu quả:

Trang 4

o Giảm tải mạng bằng cách lưu vào bộ nhớ đệm và sử dụng lại bộ kết quả SPARQL

o Tính toán đa luồng so sánh các mục dữ liệu

o Tùy chọn chặn các mục dữ liệu

II SILK LINK DISCOVERY ENGINE (SLDE)

Phần trung tâm của Silk Link Discovery Framework là Silk Link Discovery Engine (SLDE) Đây là phần chịu trách nhiệm nhận dữ liệu và sinh ra các liên kết dựa trên các nguyên tắc liên kết do người dùng cung cấp Silk Linking Discovery Engine xử lý các incoming data items, thường bắt nguồn từ SPARQL endpoint và theo các giai đoạn sau:

o Blocking (tùy chọn): giai đoạn này phân vùng các incoming data items vào các

cụm (cluster) Vì việc so sánh mọi tài nguyên nguồn (source) với từng tài nguyên đích (target) dẫn đến số lần so sánh rất lớn, làm tiêu tốn nhiều thời gian Vì vậy, blocking có thể được sử dụng để giảm số lần thực hiện phép so sánh Blocking phân vùng các mục dữ liệu tương tự nhau vào một cụm, mỗi cụm giới hạn số lần thực hiện phép so giữa các item trong cùng một cụm

o Link Genneration: trong giai đoạn này, SLDE thực hiện đọc các incoming data

items và tính toán các giá trị tương đồng của từng cặp Ở giai đoạn Blocking, incoming data items có thể được phân vào một cụm và được ghi vào bộ đệm ẩn bên trong Từ bộ nhớ đệm, các cặp mục dữ liệu được sinh ra Nếu giai đoạn Blocking bị tắt, thực hiện so sánh toàn bộ các cặp sinh ra từ hai bộ dữ liệu Nếu giai đoạn Blocking được bật, chỉ các mục dữ liệu trong cùng một cụm mới thực hiện so sánh Đối với mỗi cặp mục dữ liệu, điều kiện liên kết được đánh giá, tính toán giá trị tương đồng trong khoảng từ 0 đến 1 Mỗi cặp tạo ra một liên kết sơ bộ với giá trị tin cậy sự theo sự tương đồng của mục dữ liệu nguồn và đích

o Filtering: lọc các liên kết theo 2 giai đoạn:

▪ Trong giai đoạn đầu, tất cả các liên kết có độ tin cậy thấp hơn ngưỡng do người dùng định nghĩa sẽ bị xóa

▪ Trong giai đoạn thứ hai, tất cả các liên kết bắt nguồn từ cùng một chủ đề được nhóm lại với nhau Nếu số lượng liên kết bị giới hạn, chỉ những liên kết có độ tin cậy cao nhất mới được chuyển tiếp đến đầu ra Số lượng liên kết được chuyển tiếp trên mỗi nguồn bằng số lượng liên kết bị giới hạn

o Output: ghi lại các liên kết được sinh ra và lọc các liên kết được người dùng xác

Trang 5

III CÁCH SỬ DỤNG SILK FRAMEWORK

1 Command Line Applications

1.1 Giới thiệu Command Line Applications

Ngoài giao diện, Silk còn cung cấp cho người dùng giao diện dòng lệnh để giải quyết các trường hợp khác nhau

• Silk Single Machine dùng để tạo liên kết RDF trên máy cá nhân Các tập dữ liệu

cần được liên kết với nhau có thể nằm trên cùng một máy hoặc trên các máy từ xa được truy cập thông qua giao thức SPARQL Silk Single Machine cung cấp đa luồng

và bộ nhớ đệm Ngoài ra, hiệu suất có thể được nâng cao hơn nữa bằng cách sử dụng tính năng chặn tùy chọn

• Silk MapReduce được sử dụng để tạo liên kết RDF giữa các tập dữ liệu bằng cách

sử dụng một cụm nhiều máy Silk MapReduce dựa trên Hadoop và chẳng hạn như

có thể chạy trên Amazon Elastic MapReduce Silk MapReduce cho phép Silk mở rộng quy mô tới các bộ dữ liệu rất lớn bằng cách phân phối việc tạo liên kết cho nhiều máy

• Silk Server có thể được sử dụng như một thành phần phân giải danh tính trong các

ứng dụng sử dụng Dữ liệu được Liên kết từ Web Silk Server cung cấp một API HTTP để đối sánh các phiên bản từ luồng dữ liệu RDF đến trong khi vẫn theo dõi các thực thể đã biết Chẳng hạn, nó có thể được sử dụng cùng với trình thu thập dữ liệu Dữ liệu được Liên kết để đưa dữ liệu từ Web vào duplicate-free

Để sử dụng Command line application, ta phải cần đến ngôn ngữ đặc tả liên kết

hay Link Specification Language

1.2 Link Specification Language

Silk framework cung cấp một ngôn ngữ khai báo để chỉ định loại liên kết RDF nào được phát hiện giữa các nguồn dữ liệu cũng như các các dữ liệu phải đáp ứng các điều kiện nào để được liên kết với nhau Phần này mô tả cấu trúc ngôn ngữ của Ngôn ngữ đặc

tả Silk Link

Ví dụ dưới đây cung cấp một cái nhìn tổng quan về các cấu trúc ngôn ngữ chính của Silk-LSL

Trang 7

Cấu trúc và thành phần

Silk-LSL được thể hiện bằng XML, ví dụ như lược đồ XML Silk tương ứng Tên thẻ gốc

là <Silk> Một tài liệu hợp lệ có thể chứa bốn loại câu lệnh cấp cao nhất bên dưới phần tử gốc:

Trang 8

Data Source Definitions

Định nghĩa nguồn dữ liệu cho phép đặc tả các tham số truy cập tới các điểm cuối SPARQL cục bộ hoặc từ xa Các nguồn dữ liệu đã xác định sau đó có thể được tham chiếu và sử dụng bởi ID của chúng trong các câu lệnh đặc tả liên kết

Blocking Data Items

Vì so sánh mọi tài nguyên nguồn với mọi tài nguyên đích duy nhất dẫn đến một số

so sánh n * m có thể tốn quá nhiều thời gian, nên có thể sử dụng phương pháp chặn để giảm số lượng so sánh Chặn phân vùng các mục dữ liệu tương tự thành các cụm làm giảm bớt sự so sánh với các mục trong cùng một cụm

Ví dụ: đưa ra hai tập dữ liệu mô tả sách, để giảm số lượng so sánh, có thể chặn sách theo nhà xuất bản Trong trường hợp này, chỉ các sách của cùng một nhà xuất bản mới được so sánh Với số lượng 40.000 cuốn sách trong tập dữ liệu đầu tiên và 30.000 cuốn sách trong tập dữ liệu thứ hai, việc đánh giá toàn bộ sản phẩm Descartes đòi hỏi 1,2

tỷ phép so sánh

Nếu chặn tập dữ liệu này bởi nhà xuất bản, mỗi cuốn sách sẽ được phân bổ cho một khối dựa trên nhà xuất bản của cuốn sách đó Sử dụng 100 khối, nếu số sách được phân bố đồng đều thì sẽ có 400 cuốn sách tương ứng 300 cuốn mỗi khối, giảm số so sánh

là 12 triệu cuốn

Câu <Blocking>lệnh cho phép thực hiện giai đoạn chặn Không cần cấu hình bổ sung vì Silk sẽ tự động tạo một chức năng chặn từ đặc tả liên kết Thuộc tính blocks tùy chọn chỉ định số lượng khối sẽ được sử dụng Giá trị mặc định của 100 khối phù hợp với hầu hết các trường hợp sử dụng Nếu không có <Blocking>câu lệnh nào được cung cấp trong đặc tả liên kết, thì phép so sánh sẽ lặp lại trên tất cả các cặp tài nguyên

Trang 10

Ví dụ như

Link Type

Các Loại Liên kết chỉ thị xác định loại của các liên kết được tạo ra

Ví dụ:

Trang 11

Datasets

Dữ liệu nguồn và dữ liệu đích xác định một tập hợp các object được so sánh

Các yếu tố cần được liên kết với nhau được chọn bằng cách cung cấp một giới hạn cho mỗi nguồn dữ liệu Ở dạng đơn giản nhất, một giới hạn chỉ chọn tất cả các thực thể của một kiểu cụ thể bên trong nguồn dữ liệu Ví dụ: để liên kết các thành phố với nhau trong DBpedia, một giới hạn có thể chọn tất cả các thực thể có loại dbpedia: City Đối với các giới hạn phức tạp hơn, cho phép chỉ định các bộ ba Arbritray SPARQL

RestrictTo Hạn chế tập dữ liệu này bằng cách sử

Trang 12

Bộ lọc Liên kết cho phép lọc các liên kết được tạo Nó chỉ có một tham số duy nhất là limit

Limit xác định số lượng liên kết bắt nguồn từ một mục dữ liệu N liên kết được đánh giá cáo nhất sẽ được giữ lại Nếu không cung cấp giới hạn, tất cả các liên kết sẽ được trả lại

Ví dụ tạo một liên kết cho mỗi thực thể:

Hoặc không giới hạn

1.2.1 Data Source

Tổng quát

Nguồn dữ liệu giữ các tham số truy cập tới các điểm cuối SPARQL cục bộ hoặc từ xa hoặc tệp RDF Các nguồn dữ liệu đã xác định sau này có thể được tham chiếu và sử dụng bởi ID của chúng Nguồn dữ liệu có thể được xác định bằng cách sử dụng API hoặc XML

Định nghĩa SPARQL Endpoint Data Source

Đối với SPARQL Endpoint, tồn tại một số tham số sau

endpointURI URI của điểm cuối SPARQL

Trang 13

instanceList Một danh sách các trường hợp

được truy xuất Nếu không được cung cấp, tất cả các phiên bản sẽ được truy xuất Nhiều thể hiện có thể được phân tách bằng dấu cách

Retrieve all instances

pageSize Giới hạn mỗi truy vấn SPARQL

trong một lượng kết quả cố định

Nguồn dữ liệu SPARQL triển khai cơ chế phân trang để chuyển tham số kích thước trang thành các mệnh đề SPARQL LIMIT và OFFSET

1000

graph Chỉ truy xuất các thực thể từ một

biểu đồ cụ thể

No restriction

pauseTime Để cho phép giới hạn tốc độ truy

vấn đối với máy chủ SPARQL công khai, câu lệnh pauseTime chỉ định số mili giây phải đợi giữa các truy vấn tiếp theo

0

retryCount Để khôi phục các lỗi kết nối điểm

cuối SPARQL không liên tục, tham số retryCount chỉ định số lần thử kết nối lại

3

retryPause Chỉ định thời gian chờ giữa các

lần thử lại

1000

queryParameters Các tham số bổ sung sẽ được

thêm vào mọi yêu cầu, ví dụ: &

soft-limit = 1

Trang 14

parallel Nếu nhiều câu truy vấn nên thực

hiện song song để truy xuất nhanh hơn

TRUE

Lưu ý rằng tất cả các tham số ngoại trừ URI điểm cuối là tùy chọn và có thể bị bỏ qua

Ví dụ:

RDF File Data Source Definitions

RDF file có thể chứa một số tham số

format Định dạng của file RDF, một số

Trang 15

• Comparison Đánh giá mức độ tương đồng của hai đầu vào dựa trên thước đo

khoảng cách do người dùng xác định và trả về độ tin cậy

• Aggregation Tổng hợp nhiều giá trị tin cậy

Path Input

Một đường dẫn giúp truy xuất tới tất cả các giá trị được kết nối với các thực thể

Mọi câu lệnh đường dẫn đều bắt đầu bằng một biến, có thể được theo sau bởi một loạt các phần tử đường dẫn Nếu không thể giải quyết đường dẫn do thiếu thuộc tính hoặc bộ lọc hạn chế, thì một tập kết quả trống sẽ được trả về

Chuyển tiếp từ subject resource thông qua một thuộc tính đến object resource của

\

reverse operato

<path_segment>\<property>

Di chuyển ngược từ subject resource thông qua một thuộc tính đến subject resource

Trang 16

[]

filter operator

<path_segment>[<property> <comp_operator>

<value>]

Giảm tập hợp tài nguyên hiện được chọn thành những tài nguyên phù hợp với biểu thức

Trang 17

Chức năng và thông số Mô tả

removeBlanks Loại bỏ khoảng trắng khỏi một chuỗi

removeSpecialChars Xóa các ký tự đặc biệt khỏi một chuỗi

lowCase Chuyển một chuỗi thành chữ thường

upperCase Chuyển một chuỗi thành chữ hoa

viết hoa Viết hoa chuỗi tức là chuyển ký tự đầu tiên thành

chữ hoa Nếu 'all AdWords' được đặt thành true, tất

cả các từ đều được viết hoa và không chỉ ký tự đầu tiên Theo mặc định, 'allWords' được đặt thành false capitalize Viết hoa chữ cái đầu

alphaReduce Tách tất cả các ký tự không phải chữ cái khỏi một

chuỗi

numReduce Tách tất cả các ký tự không phải số khỏi một chuỗi

Trang 18

replace Thay thế tất cả các lần xuất hiện của "tìm kiếm"

bằng "thay thế" trong một chuỗi

regexReplace Thay thế tất cả các lần xuất hiện của một regex

“regex” bằng “Replace” trong một chuỗi

stripPrefix Tách tiền tố khỏi một chuỗi

stripPostfix Tách hậu tố khỏi một chuỗi

stripUriPrefix Tách tiền tố URI khỏi một chuỗi

concat Nối các chuỗi từ hai đầu vào

logarithm Biến đổi tất cả các số bằng cách áp dụng hàm

logarit Các giá trị không phải số được giữ nguyên Nếu cơ sở không được xác định, nó mặc định là 10

convert Chuyển đổi chuỗi từ “sourceCharset” thành

“targetCharset”

tokenize Tách chuỗi thành các mã thông báo Tách ở tất cả

các kết quả khớp của “regex” nếu được cung cấp và

ở các khoảng trắng nếu không

removeValues Xóa các giá trị cụ thể khỏi tập giá trị ‘blacklist' là

danh sách các từ được phân tách bằng dấu phẩy

removeParentheses Loại bỏ tất cả các dấu ngoặc bao gồm nội dung của

chúng, ví dụ: biến đổi 'Berlin' → 'Berlin'

Trang 19

Các tham số:

Tham số Mô tả

required Nếu yêu cầu là true, thì tập hợp gốc chỉ mang lại giá trị tin

cậy nếu các đầu vào đã cho có giá trị cho cả hai trường hợp

weight Trọng số của sự so sánh này Trọng số được sử dụng bởi một

số tập hợp chẳng hạn như tổng trung bình các trọng số threshold Khoảng cách tối đa Đối với các thước đo khoảng cách chuẩn

hóa, ngưỡng phải nằm trong khoảng từ 0,0 đến 1,0

distanceMeasure Thước đo khoảng cách đã sử dụng Để biết danh sách các

thước đo khoảng cách có sẵn, hãy xem bên dưới

Inputs 2 đầu vào để so sánh

Ví dụ:

Threshold

Ngưỡng được sử dụng để chuyển đổi khoảng cách được tính toán thành giá trị trong khoảng từ -1,0 đến 1,0 Các liên kết cho giá trị >0 được đánh giá cao khi so sánh 2 thực thể

Trang 20

là chèn, xóa hoặc thay thế một ký tự

Không

levenshtein Khoảng cách levensthein được chuẩn hóa thành

khoảng [0,1]

đúng

jaro Chỉ số khoảng cách Jaro Chỉ số khoảng cách đơn

giản ban đầu được phát triển để so sánh tên người đúng jaroWinkler Thước đo khoảng cách Jaro-Winkler Chỉ số

khoảng cách Jaro-Winkler được thiết kế và phù hợp nhất cho các chuỗi ngắn như tên người

đúng

equality 0 nếu các chuỗi bằng nhau, 1 nếu không đúng

inequality 1 nếu các chuỗi bằng nhau, 0 nếu ngược lại đúng

Ví dụ:

• Đo khoảng cách dựa trên token-based

Mặc dù các phép đo khoảng cách dựa trên ký tự hoạt động tốt đối với các

Ngày đăng: 05/12/2021, 06:17

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