Tìm kiếm thông tin

Một phần của tài liệu Nghiên cứu Web ngữ nghĩa và ứng dụng trong trợ giúp tìm kiếm văn bản nghiệp vụ hành chính (Trang 57)

Các đối tượng: người sử dụng website tìm kiếm thông tin văn bản Điều kiện trước: nhập từ khóa tìm kiếm.

Điều kiện sau: thông tin cần tìm

Mô tả: người sử dụng vào website, nhập từ khóa tìm kiếm và nhận được thông tin cần tìm.

Dòng sự kiện: Bảng 2.8. Đặc tả tìm kiếm thông tin

Hành động của đối tượng Hành động của hệ thống 1. Nhập từ khóa, chọn hình thức tìm

kiếm.

2. Lấy thông tin từ database, hiển thị kết quả cho người sử dụng.

2.6. PHƯƠNG PHÁP THU THẬP, TRÍCH RÚT THUỘC TÍNH TỰ ĐỘNG

Hệ thống tìm kiếm văn bản trong ngành giáo dục sử dụng phương pháp trích rút ontology từ WWW của nhóm tác giả Du C.Timon, Li Feng và King Irwin. Phương pháp được nhóm tác giả đề nghị gồm 6 bước chính: Chuẩn bị, Biến đổi, Gom cụm, Nhận diện, Liên kết và Tinh chỉnh . Chuẩn bị,

Biến đổi Gom cụm và Nhận diện Liên kết Tinh chỉnh MySQL Java

Platform Java Plug-in

OS(Linux, XP, Unix

Nhập/ xuất Ontology CSDL trang Web CSTT Ontology

Kỹ sư Ontology

Hình 2.2. Mô hình tổng quan phương pháp trích rút tự động

Hình 2.3. Quy trình rút trích ontology từ WWW

Đầu tiên các trang web thuộc về một website được tải về, loại bỏ những thẻ không phù hợp và được lưu trữ dưới dạng chuẩn hóa (David, Ling, &Calton, 2001) và mô tả tóm tắt sử dụng những từ khoá ở bước chuẩn bị. Bước biến đổi thực hiện việc tinh chỉnh trang web bằng cách loại bỏ các thành phần lặp và xử lý các đường dẫn.

Tiếp theo mỗi trang web được biểu diễn bằng một vector đại diện thể hiện đặc trưng nội dung của trang web đó, gọi là vector đặc trưng. Các trang web này sau đó được gom cụm dựa trên độ tương đồng giữa các vector đặc trưng của chúng ở bước

đặc trưng cụm của cụm đó thông qua quá trình nhận diện. Ở bước liên kết, mối quan hệ giữa các cụm được gán và tinh chỉnh dựa trên các đường dẫn giữa các trang web trong cụm. Cuối cùng, việc tinh chỉnh ontology được thực hiện bởi một chuyên gia xử lý ontology ở bước tinh chỉnh.

2.7. CÔNG CỤ, MÔI TRƯỜNG, THƯ VIỆN VÀ NGÔN NGỮ

2.7.1 Công cụ xây dựng ontology - Protégé

Hiện nay có rất nhiều phần mềm hỗ trợ xây dựng ontology. Một trong những phần mềm được sử dụng nhiều nhất là Protégé-OWL.

2.7.1.1. Đặc điểm của Protégé

Đây là phần mềm miễn phí dùng để tạo ra các mô hình và các ứng dụng bằng cách sử dụng các ontology. Protégé được phát triển bởi trường Đại học Stanford và Mark Musen. Chức năng nổi bật nhất của phần mềm này là cho phép người dùng sử dụng tạo ra các ontology để phát triển web ngữ nghĩa theo đúng chuẩn của ngôn ngữ W3C OWL.

Protégé có hai phiên bản OWL và API. Phiên bản trước của Protégé-OWL là Protégé-API mà nội dung có nền tảng từ OKBC (Open Knowledge Base Connectivity). OKBC là một ứng dụng lập trình giao tiếp thực hiện truy xuất dữ liệu thông minh. [5]

Phiên bản Protégé-OWL phát triển dựa trên những gì đã có của phiên bản trước và nó mở rộng hơn rất nhiều so với phiên bản trước đây là chỉ cho phép xây dựng các lớp. Protégé-OWL được phát triển dựa trên hai yêu cầu chính. Đầu tiên là yêu cầu định nghĩa các đối tượng và quan hệ tồn tại giữa chúng. Sau đó là yêu cầu xây dựng các đặc điểm kỹ thuật phục vụ ý tưởng chia sẻ thông tin.

Các đối tượng xây dựng chính của Protégé là :

- Classes – tổ chức các quan hệ tham chiếu và các kiểu thực thi - Axioms – mô hình câu lệnh đúng

- Instances – các thể hiện, các thành phần của đối tượng - Domain – giới hạn của ontology

- Vocabulary – các lớp và khai báo

2.7.1.2. Protégé sử dụng giao diện đồ họa

Ngay từ phiên bản Protégé API, thì phần mềm Protégé đã không chỉ cho phép tạo mô hình bằng cách thủ công (nhập bằng văn bản) mà nó còn cho phép người sử

dụng giao diện đồ họa để phát triển. Một trong những cơ sở của việc lập trình bằng giao diện đồ họa với Protégé là cơ chế tạo lớp, nó cho phép người lập trình giao tiếp rõ ràng với những sự kiện thay đổi.

2.7.1.3. Protégé phát triển để tích hợp các công cụ

Mục đích của Protégé là hỗ trợ người phát triễn tạo ra được các ontology một cách dễ dàng nhất. Ban đầu đó là vấn đề giao diện đồ họa, tiếp nữa đó là những công cụ thêm vào để tạo ra các chức năng đặc biệt khác. Protégé cung cấp một số điểm mở rộng nơi các nhà phát triển có thể chủ động thêm các thành phần mà ta thường gọi là plug-ins. Những plug-ins sau thường được các nhà phát triển semantic web sử dụng : Tab widget plug-ins, Slot widget plug-ins, Project plug-in, Resource action plug-in, Resource display plug-ins, ontology test plug-ins, Result panel plug- ins, Conditions widget extension plug-ins...

2.7.2. Thư viện SemWeb

SemWeb lần đầu tiên được phát hành vào tháng sáu năm 2005 và đã được thử nghiệm gần đây hơn với những bộ lưu trữ hơn một tỉ bộ ba. Các tính năng cốt lõi như đọc ghi dữ liệu XML với bộ ba RDF, liên tục lưu trữ dữ liệu với nền tảng SQL và các truy vấn SPARQL cơ bản đã được kiểm nghiệm nhiều lần. Các chức năng bên ngoài như hoạt động RDFS hoặc hoạt động của backware-chaining đã làm việc nhưng ít được thử nghiệm và không hoàn chỉnh. Thư viện không có công cụ đặc biệt đối với OWL schema và nó hoạt động ở mức bộ ba của RDF.

2.7.2.1. Giấy phép

SemWeb được bản quyền hoá theo giấy phép GNU GPL. Tuy nhiên trong thư viện của SemWeb còn sử dụng một số thư viện bên ngoài như SPARQL nên phải tuân thủ theo giấy phép của những phần này.

2.7.2.2. Đặc điểm của SemWeb

- SemWeb rất dễ triển khai. SemWeb cung cấp mã nguồn mở và thư viện đã được dịch ra DLL. Người dùng có thể hiệu chỉnh mã nguồn để sử dụng.

- RDF / XML : Đọc và viết RDF/XML (bao gồm cả XMP). Máy đọc theo luồng, có nghĩa là toàn bộ tài liệu không bao giờ cần phải được nạp vào bộ nhớ. Việc phân tích cú pháp đáp ứng được tất cả các tiêu chuẩn của W3C.

- Bộ ba : Đọc và viết NTriples, Turtle, và hầu hết các ký hiệu bộ ba (trong tất cả các dòng vào khoảng 20.000 bảngiây). Xác Nhận của IRIS và XSD trong việc định dạng kiểu dữ liệu đơn giản trong file đọc (hoặc khi có yêu cầu).

- Dữ liệu được lưu trữ một cách liên tục theo nền tảng của SQL DB như SQL Server, MySQL, SQLite, và PostgreSQL. Việc lưu trữ MySQL có thể đạt mức một tỉ bộ ba.

- Hỗ trợ lưu trữ liên tục như một hoạt động mở rộng để truy vấn với nhiều điều công việc cùng một lúc thì sẽ nhanh hơn nhiều so với thực hiện một truy vấn đến từng vấn đề riêng.

- 4-Tuples : Khai báo là bộ bốn, không phải ba. Trường meta thứ tư có thể được sử dụng cho mục đích ứng dụng cụ thể, như nguồn gốc lưu trữ, nhóm báo cáo, hoặc lưu trữ các công thức của bộ ba.

- Truy vấn : Mô hình kế thừa đơn giản, kiểm tra và truy vấn SPARQL ở bất kỳ nguồn dữ liệu nào bằng việc dịch các truy vấn thành SQL khi có yêu cầu. Với một nguồn dữ liệu từ xa thì SPARQL cũng có thể truy vấn thông qua giao thức của máy chủ ASP.NET SPARQL

- Thêm truy vấn : Truy vấn dữ liệu trên một nguồn riêng nào đó bằng cách chạy bất kỳ truy vấn trên một dữ liệu ban đầu và cho phép thêm những nguồn dữ liệu mới bằng AddSource.

- Khả năng mở rộng : Thực hiện lưu trữ dữ liệu mới liên tục hoặc bằng câu lệnh cũng đơn giản như triển khai thực hiện một giao diện. Ví dụ sau tạo ra một vài câu lệnh RDF và thêm chúng vào bộ nhớ máy tính. Sau đó, nó viết ra câu lệnh theo định dạng XML/RDF đến cửa sổ hiển thị.

using System; using SemWeb;

public class Example {

const string RDF = "http:www.w3.org19990222-rdf-syntax-ns#"; public static void Main() {

MemoryStore store = new MemoryStore();

Entity says = "http:example.orgsays"; Entity wants = "http:example.orgwants"; Entity desire = new BNode();

Entity description = new Entity("http:example.orgdescription"); store.Add(new Statement(computer, says, (Literal)"Hello world!"));

store.Add(new Statement(computer, says, (Literal)"This is my demo Semweb!"));

store.Add(new Statement(computer, wants, desire));

store.Add(new Statement(desire, description, (Literal)"to be human")); store.Add(new Statement(desire, RDF+"type",

(Entity)"http:example.orgDesire"));

using (RdfWriter writer = new RdfXmlWriter(Console.Out)) { writer.Namespaces.AddNamespace("http:example.org", "ex"); writer.Write(store);

} }}

2.7.3 Giao diện lập trình ứng dụng OwlDotNetApi

OwlDotNetApi là một giao diện lập trình ứng dụng với bộ phân tích cú pháp viết bằng C# theo công nghệ .NET dựa trên phân tích cú pháp RDF Drive. Hoàn toàn phù hợp với đặc điểm kỹ thuật của W3C.

2.7.3.1. Phiên bản

20.05.2005 – Phiên bản đầu tiên của bộ phân tích cú pháp OWL. 17.06.2005 – Thêm vào một bộ phát sinh ở phần này.

25.03.2006 – Xây dựng trang web để giới thiệu công cụ này.

2.7.3.2. Chức năng

Mục tiêu của OwlDotNetApi là đọc ghi dữ liệu của XML dựa trên đồ thị với các cạnh tương ứng với thuộc tính liên kết và các đỉnh tương ứng với các nút hay còn gọi là các lớp. 51 1 1 22 3 3 Các đỉnh tương ứng với các lớp Các cạnh tương ứng với

Hình 2.4. Mô hình quan hệ giữa các nút và các cạnh

Xuất phát từ việc đồ thị hoá nội dung của dữ liệu nên OwlDotNetApi đáp ứng được hầu hết tất cả các chuẩn mà W3C đưa ra. Tuy nhiên việc truy cập dữ liệu không thông qua câu lệnh truy vấn nên việc lập trình với thư viện này chưa thuận lợi về thời gian xử lý. OwlDotNetApi có hai phần chính là lớp chức năng và lớp giao tiếp.

Lớp chức năng của OwlDotNetApi có thể kể đến những chức năng phổ biến sau: OwlClass, OwlOntology, OwlXmlGenerator, OwlXmlParser, InvalidOwlException, OwlDatatypeProperty...

Lớp giao tiếp của OwlDotNetApi có thể kể đến những interface thường được sử dụng sau: IowlXmlGenerator, IowlClass, IowlDatatypeProperty, IowlOntologyProperty, IowlResource, IowlRestriction...

2.7.4 Hệ truy vấn SPARQL

SPARQL là một ngôn ngữ để truy cập thông tin từ các đồ thị RDF . SPARQL cung cấp các tính năng sau: trích thông tin trong các dạng của URI, các nút trống hay giá trị nguyên thủy hoặc các kiểu được định nghĩa từ các giá trị nguyên thủy, trích thông tin từ các đồ thị con và xây dựng một đồ thị RDF mới dựa trên thông tin trong đồ thị truy vấn.

2.7.4.1. Cú pháp của câu truy vấn:

Các giá trị được đặt trong dấu “<>” dùng để chỉ một định danh URI. Các giá trị được đặt trong dấu (“ ”) là các giá trị literal.

Biến trong ngôn ngữ truy vấn có giá trị toàn cục. Biến thường bắt đầu với kí tự “?” hay kí tự “$”. SPARQL cung cấp một cơ chế viết tắt. Tiếp đầu ngữ (prefix) có thể được định nghĩa và một QName sẽ cung cấp một dạng viết làm cho URI có thể ngắn gọn.

Sau đây là một cách viết tắt cho triple pattern: PREFIX dc: <http:purl.orgdcelements1.1>

Ta có thể sử dụng một cách viết tắt: PREFIX dc: <http:purl.orgdcelements1.1> PREFIX : <http:example.orgbook>

SELECT $title WHERE { :book1 dc:title $title }

2.7.4.2. Tạo một câu truy vấn đơn giản

Một câu truy vấn bao gồm 2 mệnh đề, mệnh đề SELECT và mệnh đề WHERE. Mệnh đề SELECT định danh các biến mà ứng dụng quan tâm và mệnh đề WHERE bao gồm các triple pattern. Một triple pattern là một RDF triple nhưng mỗi thành phần (subject, predicate hay object) đều có thể là một biến truy vấn. Một basic graph pattern là một tập các triple pattern.

Ngôn ngữ SPARQL dựa trên nền tảng so sánh các graph pattern. Graph pattern đơn giản nhất là các triple pattern. Một câu truy vấn có thể có hoặc không, một hay nhiều kết quả.

Ví dụ : Ta có một RDF triple sau:

<http:example.orgbookbook1 > <http:purl.orgdcelements1.1title> "SPARQL Tutorial" .

Câu truy vấn

SELECT ?title

WHERE{<http:example.orgbookbook1> <http:purl.orgdcelements1.1title> ?title }

Kết quả truy vấn

Title

"SPARQL Tutorial"

2.7.4.3. Blank node

Blank node có thể xuất hiện trong một mẫu truy vấn. Nó giữ vai trò như một biến, dù không được đề cập trong kết quả của câu truy vấn hay bất kỳ nơi nào ở trong graph pattern.

Blank node trong các câu truy vấn khác với với các blank node trong dữ liệu, do đó blank node trong một graph pattern không tương ứng với một blank node trong dữ liệu thông qua một nhãn blank node.

Ví dụ

Dữ liệu:

@prefix foaf: <http:xmlns.comfoaf0.1> . _:a foaf:name "Chuong Nguyen" .

_:a foaf:mbox <mailto:nvchuong2.0> .

Truy vấn:

PREFIX foaf: <http:xmlns.comfoaf0.1> SELECT ?mbox WHERE

{ ?x foaf:name "Chuong Nguyen" . ?x foaf:mbox ?mbox }

Kết quả:

mbox mailto:nvchuong2.0

Truy vấn nhiều blank node Dữ liệu:

@prefix foaf: <http:xmlns.comfoaf0.1> . _:a foaf:name "Johnny Lee Outlaw" .

_:a foaf:mbox <mailtos:jlow@example.com> . _:b foaf:name "Peter Goodguy" .

_:b foaf:mbox <mailto:peter@example.org>.

Truy vấn:

PREFIX foaf: <http:xmlns.comfoaf0.1> SELECT ?name ?mbox

WHERE

{ ?x foaf:name ?name . ?x foaf:mbox ?mbox }

Kết quả

name mbox

"Johnny Lee Outlaw" <mailto:jlow@example.com> "Peter Goodguy" <mailto:peter@example.org>

2.7.5. Môi trường và thư viện phát triển ứng ụng cho semantic web

Web ngữ nghĩa được đánh giá và xây dựng mô hình bởi tổ chức W3C. Tổ chức này muốn phát triển công nghệ này theo hướng chia sẻ phát triển. Tất cả

những quy tắc phát triển đều được công bố và mọi người có thể sử dụng mà không cần tính bản quyền. Điều này rất phù hợp với định hướng của mã nguồn mở và do vậy có rất nhiều công cụ hỗ trợ để phát triển ứng dụng web ngữ nghĩa.

2.8. ĐẶC TẢ HỆ THỐNG TÌM KIẾM VĂN BẢN HÀNH CHÍNH

2.8.1 Dự kiến chức năng của hệ thống

Chúng tôi kiến sẽ phát triển hệ thống tìm kiếm văn bản hành chính với các chức năng nổi bật sau :

- Hệ thống sẽ có kho dữ liệu về văn bản lớn nhất, đầy đủ nhất hành chính hiện nay.

- Hệ thống sẽ ứng dụng công nghệ web ngữ nghĩa, nhằm tạo điều kiện cho người sử dụng dễ dàng tìm kiếm với lượng thông tin quá lớn.

- Hệ thống sẽ có chế độ học tập thông minh, tự động thu thập thông tin từ nhiều nguồn khác nhau và tự động tổ chức dữ liệu.

- Hệ thống sẽ là diễn đàn tương tác thông minh giữa người dùng với nhau. Người sử dụng có thể thảo luận, trao đổi hoặc cung cấp thông tin qua lại với nhau.

2.8.2 Mô tả hệ thống

Cấu trúc của một máy tìm kiếm theo công nghệ web semantic, về cơ bản cũng có cấu trúc tương tự với một máy tìm kiếm thông thường, bao gồm 2 thành phần chính là giao diện truy vấn và phần kiến trúc bên trong.

2.8.2.1. Giao diện truy vấn

- Cho phép người dùng nhập yêu cầu tìm kiếm. - Hiển thị kết quả tìm kiếm.

2.8.2.2. Phần kiến trúc bên trong

Đây là phần cốt lõi của máy tìm kiếm bao gồm các thành phần: phân tích yêu cầu, tìm kiếm kết quả cho yêu cầu, dữ liệu tìm kiếm, mạng ngữ nghĩa. Sự khác biệt trong cấu trúc của máy tìm kiếm ngữ nghĩa so với tìm kiếm thông thường nằm ở phần kiến trúc bên trong, cụ thể ở 2 phần: phân tích câu hỏi và tập dữ liệu tìm kiếm.

Mô hình được đề xuất trong luận văn cho ứng dụng tìm kiếm ngữ nghĩa như hình sau :

Hình 2.5. Mô hình đề xuất cho hệ thống tìm kiếm văn bản hành chính

- Web Browser: đóng vai trò giao tiếp với người dùng, nó thực hiện vai trò tiếp nhận câu truy vấn của người dùng và hiển thị kết quả câu truy vấn. - Search engine: Đây là chức năng chính của chương trình thực hiện các thao

tác tổ chức, lưu trữ ontology đồng thời thực hiện truy vấn yêu cầu của người dùng trên ontology và trả về kết quả cho web browser theo yêu cầu của người dùng.

2.8.2.3. Cơ sở dữ liệu

Cơ sở dữ liệu nhằm cung cấp cho trang web tìm kiếm được thu thập tự động từ các website phổ biến trên Internet hoặc tự nhập vào bằng tay.

Hệ thống tìm kiếm văn bản hành chính sẽ hướng đến việc cập nhật dữ liệu tự động thông qua các robot tìm kiếm, phân tích dữ liệu thông minh. Nhân tố con người sẽ đóng vai trò kiểm tra và chỉnh sửa dữ liệu trong hệ thống đó.

2.9 KẾT LUẬN CHƯƠNG 2

Một phần của tài liệu Nghiên cứu Web ngữ nghĩa và ứng dụng trong trợ giúp tìm kiếm văn bản nghiệp vụ hành chính (Trang 57)