Tải bản đầy đủ (.pdf) (126 trang)

TRUY HỒI THÔNG TIN THEO ONTOLOGY TRÊN NỀN TÍNH TOÁN PHÂN TÁN HADOOP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.82 MB, 126 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM

---------------------------

PHẠM THẾ ANH PHÚ

TRUY HỒI THÔNG TIN THEO ONTOLOGY
TRÊN NỀN TÍNH TOÁN PHÂN TÁN HADOOP
(**Từ khóa: Ontology-based IRS, Conceptual-based Retrieval, FCA, Big Data,
Hadoop)

LUẬN VĂN THẠC SĨ
Chuyên ngành: Công nghệ thông tin
Mã số ngành: 60480201

CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS.TS ĐỖ PHÚC

TP. HỒ CHÍ MINH, tháng 03 năm 2017


CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
Cán bộ hướng dẫn khoa học : PGS.TS ĐỖ PHÚC
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP. HCM
ngày 31 tháng 03 năm 2017
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)


TT
1
2
3
4
5

Họ và tên

Chức danh Hội đồng
Chủ tịch
Phản biện 1
Phản biện 2
Ủy viên
Ủy viên, Thư ký

Xác nhận của Chủ tịch Hội đồng đánh giá Luận sau khi Luận văn đã được
sửa chữa (nếu có).

Chủ tịch Hội đồng đánh giá LV


TRƯỜNG ĐH CÔNG NGHỆ TP. HCM
PHÒNG QLKH – ĐTSĐH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
TP. HCM, ngày 31 tháng 03 năm 2017

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên:

PHẠM THẾ ANH PHÚ

Ngày, tháng, năm sinh: 17/01/1990
Chuyên ngành:

Công nghệ thông tin

Giới tính:

Nam

Nơi sinh:

Tp. Hồ Chí Minh

MSHV:

1541860022

I- Tên đề tài:
TRUY HỒI THÔNG TIN THEO ONTOLOGY TRÊN NỀN TÍNH TOÁN PHÂN
TÁN HADOOP
II- Nhiệm vụ và nội dung:
Đề tài luận văn bao gồm 3 nhiệm vụ chính với các nội dung như sau:
 Xây dựng mô hình máy tìm kiếm có tích hợp Ontology để phục vụ cho việc tìm kiếm
thông tin, tài liệu liên quan đến ngành CNTT dựa trên khái niệm.
 Chuyển đổi hình thức tưu trữ và suy luận Ontology trên nền tảng CSDL đồ thị - nhằm
giải quyết bài toàn về lưu trữ nguồn tri thức lớn của Ontology.

 Tăng hiệu suất của máy tìm kiếm trong việc lưu trữ và lập chỉ mục tài liệu - thông qua
việc áp dụng mô hình phân tán của Nutch/Hadoop.
III- Ngày giao nhiệm vụ: 10/11/2016
IV- Ngày hoàn thành nhiệm vụ: 31/03/2017
V- Cán bộ hướng dẫn: PGS.TS ĐỖ PHÚC

CÁN BỘ HƯỚNG DẪN

KHOA QUẢN LÝ CHUYÊN NGÀNH

(Họ tên và chữ ký)

(Họ tên và chữ ký)

PGS.TS ĐỖ PHÚC


-- i --

LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả
nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình
nào khác.
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc.
Học viên thực hiện Luận văn
(Ký và ghi rõ họ tên)

PHẠM THẾ ANH PHÚ


Trang |i


-- ii --

LỜI CÁM ƠN
Đầu tiên cho tôi xin phép được gửi lời cám ơn vô cùng sâu sắc đến với PGS.TS Đỗ
Phúc, người thầy đã trước tiếp hướng dẫn, chỉ bảo cũng như tạo mọi điều kiện tốt nhất cho
tôi trong suốt quá trình thực hiện luận văn này.
Ngoài ra tôi cũng xin được gửi lời cám ơn chân thành đến với PGS.TS Võ Đình Bảy
cùng toàn thể đội ngũ cán bộ, thầy cô đang công tác tại ĐH Công Nghệ TP. HCM, những
người đã trực tiếp giảng dạy, các bạn đồng học trong lớp 15SCT11 đã hỗ trợ tôi trong quá
trình học tập và thực hiện các nghiên cứu tại trường.
Cuối cùng tôi cũng xin được gửi lời cám ơn đến gia đình và người thân đã có những
ủng hộ về mặt tinh thần cũng như giúp đỡ đáng kể cho tôi trong quá trình nghiên cứu và hoàn
thành luận văn này.
PHẠM THẾ ANH PHÚ

T r a n g | ii


-- iii --

TÓM TẮT
Trong những năm gần đây, sự phát triển như vũ bão hiện nay của ngành khoa học máy
tính, lượng dữ liệu được tao ra và lưu thông trong Internet là vô cùng lớn – mang lại
nguồn tri thức gần như là vô tận cho tất cả mọi người – loài người chúng ta đang bước
vào “kỷ nguyên của Big-Data” (BigData Era) và sự bùng nổ của thông tin toàn cầu. Đi
kèm theo đó cũng là các khó khăn, các mô hình máy tìm kiếm truyền thống đã gần như
bị quá tải hoặc không thể đáp ứng được nhu cầu tìm kiếm thông tin ngày càng nâng cao

hơn của con người như trước đây nữa. Do đó câu hỏi đặt ra là “làm thế nào chúng ta có
thể xây dựng được một hệ thống truy hồi thông tin thông minh và mạnh mẽ hơn?” – nó
phải hội tụ được các khả năng, bao gồm:
 Bài toán 1: Máy tìm kiếm linh hoạt và thông minh hơn trong việc xử lý, phân tích
ngữ cảnh tìm kiếm (search-context) cũng như “hiểu” được người dùng muốn gì.
 Bài toán 2: Có cơ chế lập chỉ mục, tìm kiếm và thiết kế hợp lý để có thể xử lý
được một lượng lớn dữ liệu (có thể lên đến hàng petabyte).
 Bài toán 3: Dễ dàng và nhanh chóng trong việc mở rộng cũng như bảo trì với mức
chi phí và thời gian tiêu tốn là thấp nhất.
Để giải quyết cho vấn đề của bài toán [1], chúng tôi đề xuất xây dựng và sử dụng mô
hình máy tìm kiếm dựa trên khái niệm thông qua tích hợp Ontology để hỗ trợ cho việc
tìm kiếm – mỗi lĩnh vực (miền tri thức – knowledge domain) cần tìm kiếm sẽ được tích
hợp các ontology khác nhau. Do giới hạn về thời gian nên trong luận văn này chúng tôi
chỉ nhắm đến việc xây dựng Ontology cho miền tri thức CNTT (Computing Domain
Ontology – CDO).
Ngoài ra, chúng tôi cũng sẽ thực hiện chuyển đổi ontology được xây dựng sang hình thức
lưu trữ bằng CSDL đồ thị (graph-database) và sử dụng truy vấn cypher để rút trích thông
tin, nhằm mục đích tăng hiệu xuất cho việc truy vấn, suy luận tri thức từ CDO. Đối với
bài toán [2] và [3] chúng tôi đề xuất và triển khai hướng giải pháp xây dựng máy tìm
kiếm trên mô hình xử lý và lưu trữ phân tán mã nguồn mở miễn phí của Apache
Nutch/Hadoop – cải tiến và thêm mới một số tính năng để có thể tích hợp được với CDO
được xây dựng.
Luận văn này bao gồm 5 chương – trình bày chi tiết các ý tưởng, phương thức thực hiện
cũng như các thực nghiệm đánh giá cho hệ thống đã phát triển, kết luận tổng quan về các
kết quả đạt được cũng như hướng phát triển tiếp theo cho đề tài.

T r a n g | iii


-- iv --


ABSTRACT
In recent years, thanks to the rapid growth in computer science, the transferred data
throughout the Internet had been increasing tremendously – providing the huge resources
of knowledge for everyone to access – we’re leaping to the Big-Data era and the global
data explosion.
However, following the advantages, the raise of data on the Internet also brings
difficulties as well as challenges, the traditional search-engine models seem not
affordable for the current searching needs of clients - related to the overloaded issues and
higher demands on searching mechanisms. The question is that “how we can build the
smarter and more powerful search-engine?” – the new constructed search-engine designs
must meet the following requirements, includes:
 Problem 1: the search engine must have abilities of flexible operation and smart
user’s interaction – through analyze the searching context and understating what
the user really want through the input query.
 Problem 2: Having the appropriate indexing, searching mechanisms and
reasonable architecture in order to make it can be able to consume and process the
large amount of data during the operating time.
 Problem 3: The capabilities of fast and easy on system expanding, maintaining
with the lowest cost and taken time.
In order to resolve the problem [1], we propose design and build the concept based searchengine model with ontology – in every searching field (or knowledge domain), the
search-engine need to be attached with the appropriate ontology which is constructed for
that knowledge domain.
Due to the time’s limitation while doing the thesis, we only intend to build the computing
domain ontology (CDO). Moreover, after the completion of constructing the CDO, we
will introduce about methods of using graph-based storage (graph-database) model for
representing and reasoning the knowledge of CDO. The main purpose of graph-based
storage model transferring is to reach the higher performance in ontology knowledge
management and extraction.
To come up with the solution for problem [2] and [3], the uses of distributed storage and

processing of Nutch/Hadoop – the free open-source search engine framework - had been
T r a n g | iv


-- v --

considered – we also make some changes as well as related new developments in order
to make it becomes suitable for the thesis’s solutions as well as fitting with the ontology
(CDO) based search-engine architecture.
Overall the content of thesis, we intend to have 5 chapters – includes detailed descriptions
about the system’s design ideas, applying based-theory (algorithm, methods…), the
experimental method và results, statistical reports - and finally is the overall conclusion
as well as proposals for continued future improvements.

Trang |v


-- vi --

MỤC LỤC
LỜI CAM ĐOAN ........................................................................................................... i
LỜI CÁM ƠN ................................................................................................................ ii
TÓM TẮT ................................................................................................................ iii
ABSTRACT ................................................................................................................ iv
MỤC LỤC ................................................................................................................ vi
DANH MỤC TỪ VIẾT TẮT ..................................................................................... viii
DANH MỤC CÁC BẢNG ........................................................................................... ix
DANH MỤC CÁC HÌNH ............................................................................................ xi
CHƯƠNG 1. GIỚI THIỆU VÀ TỔNG QUAN VỀ CÁC VẤN ĐỀ NGHIÊN
CỨU

................................................................................................................. 1
1.1. Lý do và động lực thực hiện đề tài ....................................................................... 1
1.2. Mục đích và phạm vi nghiên cứu của đề tài ......................................................... 1
1.3. Tổng lược về các công trình liên quan ................................................................. 2
1.3.1. Các phương pháp và mô hình xây dựng Ontology ........................................ 2
1.3.2. Chuyển đổi và suy luận ontology trên các nền tảng CSDL ........................... 3
1.3.3. Các hệ thống phân tán và bài toán xử lý dữ liệu lớn (Big-data) .................... 3
1.4. Các điểm mới và đóng góp trong luận văn ........................................................... 3
1.5. Tổng quan về các vấn đề nghiên cứu trong luận văn ........................................... 4
1.5.1. Xây dựng Ontology miền CNTT (CDO) hỗ trợ truy hồi thông tin ............... 4
1.5.2. Xây dựng hệ thống truy hồi thông tin (IRS) tích hợp CDO trên nền lưu trữ và
xử lý phân tán ........................................................................................................... 5
1.6. Các phương pháp luận và phương pháp nghiên cứu được áp dụng ..................... 8
1.7. Kết luận chương.................................................................................................... 9
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
TRONG ĐỀ TÀI .......................................................................................................... 10
2.1. Các nguyên lý tìm kiếm và truy hồi thông tin .................................................... 10
2.1.1. Các mô hình tìm kiếm / so khớp phổ biến ................................................... 10
2.1.2. Kiến trúc máy tìm kiếm (SE) có hỗ trợ CDO .............................................. 18
2.2. Xây dựng Ontology dành cho miền tri thức CNTT (Computing Domain
Ontology) ................................................................................................................... 28
2.2.1. Sơ lược về bản thể học (Ontology) .............................................................. 28
2.2.2. Phân biệt giữa bản thể học (ontology) và cây phân cấp ngữ nghĩa (taxonomy)
................................................................................................................................ 28
2.2.3. Các mô hình rút trích / trích chọn thông tin (Information Extraction) nhằm
phục vụ cho xây dựng Ontology ............................................................................ 29
2.2.4. Ontology cho miền tri thức CNTT (CDO) .................................................. 46
2.3. Ứng dụng cơ sở dữ liệu đồ thị để lưu trữ và truy vấn thông tin từ Ontology..... 51
2.3.1. Lý do cần phải chuyển đổi hình thức lưu trữ và truy vấn ............................ 51
2.3.2. Tổng quan về lý thuyết đồ thị và nền tảng lưu trữ dữ liệu dạng đồ thị ....... 51

2.3.3. Hướng tiếp cận CSDL bảng quan hệ (RDBMS) và các giới hạn ................ 53
2.3.4. Phương pháp mô hình hóa CDO trên CSDL đồ thị (Graph-database) ........ 57
2.4. Mô hình máy tìm kiếm (SE) trên nền tảng lưu trữ và xử lý phân tán của Nutch /
Hadoop ....................................................................................................................... 60
2.4.1. Thu thập tài liệu phân tán (distributed crawling) ......................................... 60
2.4.2. Lập chỉ mục và chọn lọc tài liệu phân tán (distributed indexing) ............... 62
2.4.3. Phương pháp đánh giá giải thuật.................................................................. 67
T r a n g | vi


-- vii -2.5. Kết luận chương.................................................................................................. 67
CHƯƠNG 3. CÁC BƯỚC XÂY DỰNG NỀN TẢNG HỆ THỐNG VÀ CÀI
ĐẶT
............................................................................................................... 68
3.1. Tiến trình và phương thức xây dựng CDO ......................................................... 68
3.1.1. Xây dựng lớp chủ đề (Topic) - nhận diện và xác định các thực thể (Entity
Extraction) chính. ................................................................................................... 68
3.1.2. Xây dựng lớp thành phần (Ingredient) thông qua việc làm giàu các lớp chủ
đề của CDO từ tài liệu huấn luyện ......................................................................... 69
3.1.3. Xây dựng lớp quan hệ (Relation) rút trích và thiết lập quan hệ ngữ nghĩa
(Relation Extraction) .............................................................................................. 70
3.2. Chuyển đổi hình thức lưu trữ và rút trích thông tin CDO từ mô hìnhtruyền thống
sang dạng CSDL đồ thị (graph-database) .................................................................. 75
3.2.1. Lưu trữ và truy vấn CDO trên CSDL đồ thị ................................................ 75
3.2.2. Giải quyết bài toán tìm mối liên kết giữa các đối tượng thông qua hướng tiếp
cận giải thuật tìm đường đi ngắn nhất.................................................................... 77
3.3. Mô hình máy tìm kiếm trên nền tảng phân tán có tích hợp CDO ...................... 79
3.3.1. Cài đặt bộ thu thập tài liệu (Crawler) phân tán Nutch ................................. 79
3.3.2. Cài đặt bộ lập chỉ mục (Indexer) có tích hợp CDO để chọn lọc tài liệu phù
hợp (Document Filtering) ...................................................................................... 80

3.3.3. Bộ tìm kiếm (Search) bằng Apache Solr có tích hợp CDO ......................... 82
3.4. Kết luận chương.................................................................................................. 85
CHƯƠNG 4. THỰC NGHIỆM VÀ CÁC KẾT QUẢ ĐÁNH GIÁ ........................ 86
4.1. Ontology miền tri thức CNTT (CDO) ................................................................ 86
4.1.1. Thống kê về số lượng các thực thể và quan hệ của CDO được xây dựng ... 86
4.1.2. Đánh giá CDO trên nền tảng lưu trữ CSDL đồ thị Neo4j ........................... 87
4.1.3. Đánh giá mức độ chính xác và đầy đủ của CDO ......................................... 89
4.2. Đánh giá mô hình thu thập và lập chỉ mục trên nền phân tán của máy tìm kiếm
được xây dựng ........................................................................................................... 92
4.3. Đánh giá mô hình máy tìm kiếm có hỗ trợ CDO ............................................... 95
4.4. Kết luận chương.................................................................................................. 96
CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .......................................... 97
TÀI LIỆU THAM KHẢO .......................................................................................... 99
PHỤ LỤC
............................................................................................................. 101

T r a n g | vii


-- viii --

DANH MỤC TỪ VIẾT TẮT
Adjective Phrase
Mệnh đề tính từ
Artificial Intelligence
Trí tuệ nhân tạo
Application
Programming
API
Interface

Bản thể học cho miền tri thức thuộc
Computing Domain Ontology
CDO
lĩnh vực CNTT
Concept Lattice
Giàn khái niệm
CL
Information Technology (IT)
Công nghệ thông tin
CNTT
Database
Cơ sở dữ liệu
CSDL
Database Management System
Hệ quản trị cơ sở dữ liệu
DBMS
Hệ thống lưu trữ dữ liệu trên nền tảng
Distributed File System
DFS
phân phân tán
Formal Concept Analysis
FCA
Hệ thống lưu trữ dữ liệu phân tán của
Hadoop Distributed File System
HDFS
Hadoop
HTML Hyper Text Markup Language
Information Retrieval
Truy hồi thông tin
IR

Information Retrieval System
Hệ thống truy hồi thông tin
IRS
MapReduce
MR
Noun Phrase
Mênh đề danh từ
NP
Ngôn ngữ bản thể học trên nền tảng
Ontology Web Language
OWL
web
Personal Computer
Máy tính cá nhân
PC
Parts of Speech
Từ loại
POS
Relational Database
Cơ sở dữ liệu quan hệ
RDB
Relational Database Management
Hệ quản trị cơ sở dữ liệu dạng quan hệ
RDBMS
System
Resource Description Framework
RDF
Resource Description Framework
RDFS
Schema

Search Engine
Máy tìm kiếm
SE
Semantic Web
Web ngữ nghĩa
SW
Verb Phrase
Cụm động từ
VP
World Wide Web Consortium
W3C
ADJP
AI

T r a n g | viii


-- ix --

DANH MỤC CÁC BẢNG
Bảng 1.1: So sánh mô hình và cơ chế hoạt động của tìm kiếm dựa trên từ khóa (keywordbased) và dựa trên khái niệm (concept-based) ..................................................................6
Bảng 2.1: Ma trận từ tài liệu - mô hình không gian vector (vector space model) ..........11
Bảng 2.2: Biểu thức Boolean giữa tài liệu (d1) và (q). ...................................................15
Bảng 2.3: Biểu thức Boolean giữa tài liệu (d2) và (q). ...................................................15
Bảng 2.4: Diễn giãi truy vấn (q) và tài liệu (d1), (d2) dưới dạng biểu thức boolean......17
Bảng 2.5: Các ví dụ về trường hợp rút gọn câu về dạng nguyên mẫu (sentence stemming)
trong xử lý văn bản ..........................................................................................................22
Bảng 2.6: Các ví dụ về trường hợp tách từ tối ưu trong xử lý văn bản, truy vấn ...........23
Bảng 2.7: So sánh khác biệt giữa cây phân cấp (taxonomy) và bản thế học (ontology) 28
Bảng 2.8: So sánh sự khác biệt giữa hai hướng tiếp cận xây dựng mô hình rút trích thông

tin (IE). ............................................................................................................................30
Bảng 2.9: Các công đoạn của quá trình rút trích cụm từ khóa bằng phương pháp KIP
(Keyphrase Identification Program) ................................................................................33
Bảng 2.10: Minh họa và so sánh phương thức nhận diện thực thể của hai công cụ
StanfordNLP-NER và OpenNLP-NER ...........................................................................35
Bảng 2.11: Một số nhãn từ loại thông dụng trong POS tagging .....................................35
Bảng 2.12: Bảng chi tiết các quan hệ ngữ nghĩa điển hình của miền tri thức CNTT được
định nghĩa trước ..............................................................................................................36
Bảng 2.13: Một số mối quan hệ ngữ nghĩa quan trọng giữa các khái niệm trong ngôn ngữ
tự nhiên ............................................................................................................................37
Bảng 2.14: Nhóm nhãn dành cho các nhóm là cụm từ (Phrase) .....................................38
Bảng 2.15: Nhóm nhãn dành cho các từ loại là động từ (VP) ........................................39
Bảng 2.16: Nhóm nhãn dành cho các từ loại là danh từ (NP).........................................39
Bảng 2.17: Nhóm nhãn dành cho các từ loại là tính từ (ADJP) ......................................39
Bảng 2.18: Nhóm nhãn đặc thù khác để chỉ sự tương quan ngữ pháp (PENN TreeBank
Tagsets) ...........................................................................................................................39
Bảng 2.19: Các bước tiến hành rút trích quan hệ từ dữ liệu câu và sinh luật .................49
Bảng 2.20: Các mối quan hệ giữ các thực thể trong CDO và các từ chỉ quan hệ phổ biến
.........................................................................................................................................49
Bảng 2.21: Minh họa bằng truy vấn cypher trên Neo4J cho [Hình 2.21] .......................53
Bảng 2.22: Trung bình thời gian thực thi truy vấn dựa trên số lượng mối quan hệ được
xét của CDO lưu trữ trên CSDL bảng quan hệ ...............................................................56
Bảng 3.1: Mô tả tiến trình phân tách các bộ ba thành phần (triple) bằng công cụ SLDPOpenIE từ các câu trong văn bản để xây dựng lớp quan hệ ............................................73
Bảng 3.2: Các mối quan hệ được xác định thông qua từ chỉ quan hệ (predicate) ..........75
Bảng 3.3: So sánh giữa hình thức truy vấn Cypher và SPARQL truyền thống ..............76
Bảng 3.4: Minh họa và so sánh việc xác định mối quan hệ giữa hai thực thể trên CSDL
đồ thị Neo4J.....................................................................................................................78
Bảng 3.5: Mô tả các tiến trình phân tích và mở rộng truy vấn người dùng ....................83
Bảng 4.1: Thống kê về lớp chủ đề (topic-layer) của CDO .............................................86
Bảng 4.2: Thống kê về lớp thành phần (ingredient-layer) của CDO ..............................86

Bảng 4.3: Thống kê về lớp quan hệ (relation-layer) của CDO được xây dựng ..............86
Bảng 4.4: Trung bình thời gian thực thi truy vấn giữa hình thức lưu trữ CSDL bảng quan
hệ (RDBMS) và CSDL đồ thị (Graph Database) ............................................................88
Bảng 4.5: Kết quả chạy thực nghiệm kiểm tra mức độ chính xác và đầy đủ của CDO cho
một số thực thể / khái niệm – xét từng loại quan hệ .......................................................90
T r a n g | ix


-- x -Bảng 4.6: Trung bình các tham số độ chính xác (P), độ nhậy (R) và trung bình điều hòa
(F) cho tất cả mối quan hệ của các thực thể tại [Bảng 4.5] .............................................91
Bảng 4.7: Chi tiết về môi trường phát triển và chạy thực nghiệm cho hệ thống phân tán
.........................................................................................................................................93
Bảng 4.8: Kết quả thực nghiệm so sánh môi trường độc lập và phân tán .......................94
Bảng 4.9: Kết quả thực nghiêm so sánh mô hình truy hồi thông tin không và có hỗ trợ
Ontology (CDO) ..............................................................................................................96

Trang |x


-- xi --

DANH MỤC CÁC HÌNH
Hình 1.1: Các quá trình xây dựng, làm giàu và lưu trữ CDO trên cơ sở dữ liệu đồ thị
(graph database) ................................................................................................................5
Hình 1.2: Các ứng dụng của việc sử dụng Ontology trong xử lý truy vấn người dùng và
tăng hiệu quả trong tìm kiếm tài liệu.................................................................................6
Hình 2.1: Mô hình hóa sự tương quan giữa truy vấn (q) và tài liệu (d) trên đồ thị ........10
Hình 2.2: Xác định độ tương quan giữa truy vấn (q) và tài liệu (d) bằng khoảng cách
Euclid...............................................................................................................................13
Hình 2.3: Xác định độ tương quan giữa truy vấn (q) và các tài liệu (d1), (d2) bằng góc

(cosine similarity) ............................................................................................................14
Hình 2.4: Mô hình Boolean mở rộng, xếp hạng tài liệu dựa trên khoảng cách Euclid ...15
Hình 2.5: Minh họa sự phân phôi của (q) trên (d1) và (d2) trong mô hình xác suất ......17
Hình 2.6: Tiến trình hoạt động của crawler thiết kế dưới phương thứchoạt động dạng
hàng đợi (queue crawler) .................................................................................................20
Hình 2.7: Tách từ dựa trên phương pháp so khớp tối đa (maximum matching). ............24
Hình 2.8: Minh họa các quá trình lập chỉ mục và lưu trữ của Apache Lucene ...............24
Hình 2.9: Hình thức tổ chức lưu trữ chỉ mục (indexing) dạng cấu trúc cây phân nhánh của
Apache Lucene ................................................................................................................25
Hình 2.10: Quá trình xác định chủ đề và đưa ra các gợi ý liên quan đến truy vấn của người
dùng thông qua Ontology ................................................................................................26
Hình 2.11: Minh họa một quá trình rút trích thông tin và xây dựng mạng quan hệ ngữ
nghĩa (semantic relation). ................................................................................................29
Hình 2.12: Các bước cơ bản của một tiến trình rút trích thông tin (IE) ..........................30
Hình 2.13: Minh họa một quan hệ ngữ nghĩa cho thực thể “data mining” .....................36
Hình 2.14: Minh họa phân tách chú thích ngữ pháp (TreeBank) từ câu được cho .........43
Hình 2.15: Minh họa các quá trình xử lý và rút trích bộ ba (triple) của StanfordNLP
OpenIE.............................................................................................................................45
Hình 2.16: Kiến trúc và minh họa thành phần và các lớp (chủ đề, thành phần và quan hệ)
của Computing Domain Ontology (CDO) ......................................................................46
Hình 2.17: Minh họa cấu trúc lớp chủ đề (topic layer) của ontoloty theo kiến trúc phân
cấp của ACM ...................................................................................................................47
Hình 2.18: Quá trình rút trích, nhận diện các khái niệm cho lớp thành phần (ingredient
layer) của ontology ..........................................................................................................48
Hình 2.19: Minh họa đồ thị với định (V) và cạnh (A) ....................................................52
Hình 2.20: Minh họa các dạng đồ thị ..............................................................................52
Hình 2.21: Hình thức lưu trữ dữ liệu dạng bảng quan hệ (RDB) truyền thống và dạng cấu
trúc đồ thị (Graph-database) ............................................................................................53
Hình 2.22: Minh họa cho truy vấn cypher [Bảng 2.21.1] tại trên Neo4J ........................53
Hình 2.23: Các lớp của CDO được tổ chức lưu trữ dưới hình thức CSDL dạng bảng quan

hệ (RDBMS)....................................................................................................................54
Hình 2.24: Truy vấn SQL để xét lần các mối quan hệ với thực thể được xét – trong mô
hình CDO được lưu trữ trên RDBMS .............................................................................55
Hình 2.25: Biểu đồ minh họa sự biến thiên trung bình thời gian thực thi truy vấn dựa trên
số lượng mối quan hệ được xét tại [Bảng 2.22] ..............................................................57
Hình 2.26: Biểu đồ minh họa sự biến thiên TB tổng cho tất cả các lần chạy thực nghiệm
tại [Bảng 2.22] .................................................................................................................57
T r a n g | xi


-- xii -Hình 2.27: Minh họa chuyển đổi và lưu trữ ontology từ hình thức truyền thống sang cơ
sở dữ liệu dạng đồ thị (graph-database) ..........................................................................58
Hình 2.28: Xác định khoảng cách giữa các đỉnh trong đồ thị .........................................59
Hình 2.29: Cấu trúc tổ chức các cơ sở dữ liệu - chứa nội dung thu thập của Nutch trên
thực tế ..............................................................................................................................60
Hình 3.1: Quá trình rút trích và trộn các khái niệm để xây dựng cây phân cấp chủ đề phục vụ cho việc xây dựng lớp chủ đề (topic-layer) .......................................................68
Hình 3.2: Minh họa lớp chủ đề (topic layer) của CDO trên công cụ Prot égé ................68
Hình 3.3: Phương pháp (pseudo code) thực hiện xây dựng lớp thành phần (Ingredient
Layer) của CDO ..............................................................................................................69
Hình 3.4: Quy trình xử lý dữ liệu câu và kiểm tra tồn tại thực thể trước khi tiến hành rút
trích quan hệ (relation extraction). ..................................................................................72
Hình 3.5: Phương pháp (pseudo code) thực hiện xây dựng lớp quan hệ (Relation Layer)
của CDO thông qua rút trích quan hệ từ các triple..........................................................74
Hình 3.6: Minh họa mối quan hệ giữa các thực thể được thiết lập tại [Bảng 3.2] ..........75
Hình 3.7: Minh họa phương pháp (pseudo code) thực hiện chuyển đổi hình thức lưu trữ
của CDO sang dạng CSDL đồ thị (Neo4J) .....................................................................76
Hình 3.8: Kết quả truy vấn SPARQL [Bảng 3.3.1] trên công cụ Protégé ......................77
Hình 3.9: Minh họa kết quả truy vấn Cypher [Bảng 3.3.2] trên Neo4J ..........................77
Hình 3.10: Minh họa truy vấn cypher [Bảng 3.4.1] trên dữ liệu CDO trên CSDL Neo4J
.........................................................................................................................................78

Hình 3.11: Minh họa truy vấn cypher [Bảng 3.4.2] trên dữ liệu CDO trên CSDL Neo4J
.........................................................................................................................................78
Hình 3.12: Minh họa ứng dụng nhận diện thực thể và mối quan hệ trong văn bản ........79
Hình 3.13: Minh họa phương pháp (pseudo code) thực hiện chọn lọc tài liệu trong quá
trình lập chỉ mục (indexing) thông qua CDO ..................................................................81
Hình 3.14: Minh họa cho cypher [Bảng 3.5.1] trên Neo4J .............................................84
Hình 3.15: Minh họa cho cypher [Bảng 3.5.2] trên Neo4J .............................................84
Hình 3.16: Minh họa cho cypher [Bảng 3.5.3] trên Neo4J .............................................84
Hình 3.17: Minh họa cho cypher [Bảng 3.5.4] trên Neo4J .............................................85
Hình 3.18: Minh họa cho cypher [Bảng 3.5.5] trên Neo4J .............................................85
Hình 4.1: Minh họa tỷ lệ tương quan giữa các mối quan hệ trong CDO được rút trích (dựa
trên số lượng) tại [Bảng 4.3] ...........................................................................................87
Hình 4.2: Biểu đồ minh họa Minh họa sự biến thiên trung bình thời gian thực thi truy vấn
tại [Bảng 4.4] ...................................................................................................................88
Hình 4.3: Minh họa kết quả thực nghiệm mức độ chính xác và đầy đủ của CDO cho một
số thực thể ngẫu nhiên - với các giá trị tại [Bảng 4.6] ....................................................91
Hình 4.4: Biểu đồ minh họa sự biến thiên thời gian thực hiện giữa hai mô hình phân tán
và độc lập với các giá trị tại [Bảng 4.8] ..........................................................................94
Hình 4.5: Biểu đồ minh họa sự biến thiên của các giá trị P, R và F cho từng chủ đề trong
hai mô hình tìm kiếm bình thường và có hỗ trợ CDO tại [Bảng 4.9] .............................95
Hình 5.1: Các mối quan hệ giữa các thực thể torng CDO được gán trọng số - phục vụ cho
việc kiểm tra mức độ tin cậy của quan hệ khi rút trích. ..................................................98

T r a n g | xii


-- 1 --

CHƯƠNG 1. GIỚI THIỆU VÀ TỔNG QUAN VỀ CÁC VẤN ĐỀ
NGHIÊN CỨU

1.1. Lý do và động lực thực hiện đề tài
Trong giai đoạn phát triển hiện nay, xu thế tin học hóa hay số hóa dữ liệu lưu trữ đang là
một trào lưu rất phổ biến vì khả năng tiện dụng của nó như cho phép lưu trữ hầu như là
không giới hạn, dễ dàng truy cập và cũng như quản lý môt cách hiệu quả, phổ biến nhất là
dạng lưu trữ và thể hiện văn bản dưới dạng các siêu văn bản có cấu trúc (html/xml) hay
đơn thuần còn gọi là các trang web/website cũng như các định dạng văn bản có cấu trúc
đặc trưng như doc, docx, pdf...
Theo thống gần đây nhất, cứ trung bình một giây lại có một website mới lại được đưa lên
internet, tính từ thời điểm mạng internet được phổ biến đến hiện nay thì đã có hơn khoảng
một tỷ website được công bố lên mạng, đây được coi là một kho dữ liệu thông tin vô cùng
khổng lồ (big-data) đem đến nguồn tri thức hầu như là vô tận cho người dùng ở mọi lĩnh
vực, nhưng đó cũng chính là vấn đề gây khó khăn cho người dùng có thể tìm kiếm chính
xác được thông tin ở các tài liệu mà mình cần vì lượng dữ liệu quá đồ sộ đó. Để có thể làm
chủ và tiếp cận một cách nhanh chóng các kho tri thức đó, các hệ thống tìm kiếm và truy
hồi thông tin (IRS) đã được ra đời và ngày phát triển mạnh mẽ hơn nhằm mục đích phục
vụ cho nhu cầu tìm kiếm tri thức của con người. Tuy nhiên, về nhiều lý do khác nhau, các
mặt hạn chế cũng như các khó khăn trong việc tìm kiếm thông tin tài liệu một cách chính
xác và nhanh chóng vẫn còn tồn tại liên quan đến các vấn đề mức độ chính xác trong việc
tìm kiếm, mối liên kết giữa việc diễn đạt ngôn ngữ tự nhiên từ con người và khả năng hiểu
của máy tính, kho dữ liệu lớn và liên tục tăng trưởng của các máy tìm kiếm gây khó khăn
cho việc quản lý và làm giảm hiệu suất của quá trình lập chỉ mục… Do vậy, cần có các
phương pháp và mô hình cải tiến mới nhằm khắc phục các hạn chế đó.

1.2. Mục đích và phạm vi nghiên cứu của đề tài
Nhằm giải quyết các khó khăn đã liệt kê trong phần lý do thực hiện luận văn, ba mục tiêu
cốt lõi mà luận văn hướng đến là:
 Xây dựng và truy hồi thông tin dựa trên ontology: các tài liệu, văn bản trên Internet
(web) hầu hết đều đều biểu diễn ở dạng ngôn ngữ tự nhiên, chỉ phù hợp với con người
để đọc và hiểu, do vậy gây khó khăn cho máy tính trong việc hiểu được chính xác người
Trang |1



-- 2 -dùng muốn nhắm đến đối tượng tìm kiếm là gì - qua truy vấn (cũng ở dạng ngôn ngữ
tự nhiên). Ví dụ, một khái niệm/từ khóa “java” vừa có thể được hiểu là một hòn đảo,
một loại café, và cũng là một ngôn ngữ lập trình.
 Lưu trữ và suy luận (storing và reasoning) Ontology trên nền tảng CSDL đồ thị:
nhằm giải quyết bài toàn về lưu trữ nguồn tri thức rất lớn (large-scale) của ontology
được xây dựng cũng như rút trích tri thức từ ontology thông qua việc chuyển đổi từ
hình thức lưu trữ truyền thống (native storage) sang hình thức lưu trữ dưới dạng các hệ
quản trị CSDL (database-based mechanisms). Trong luận văn này, CSDL dạng đồ thị
(graph-based database) được lựa chọn để lưu trữ.
 Tăng hiệu suất của việc lưu trữ và lập chỉ mục tài liệu - thông qua việc áp dụng
mô hình phân tán (distributed system) của Nutch/Hadoop: một trọng những cấu
thành quan trọng nhất của một máy tìm kiếm là kho dữ liệu chỉ mục (indexes) - một
máy tìm kiếm được đánh giá là mạnh mẽ và hiệu quả khi và chỉ khi nó có một kho dữ
liệu chỉ mục đủ lớn và được cập nhật liên tục - để có thể đáp ứng được hầu như toàn
bộ các nhu cầu tìm kiếm thông tin của con người ở mức độ chính xác và đầy đủ nhất.
Tuy nhiên, trong bối cảnh tốc độ tăng trưởng như vũ bão của các nguồn thông tin, tài
liệu trên Internet hiện nay – thì các kho dữ liệu chỉ mục cũng sẽ tăng lên một cách
chóng mặt theo – kèm theo đó là các khó khăn liên quan đến việc lưu trữ và mở rộng
cần phải giải quyết. Chính vì thế hướng tiếp cận giải pháp xử lý và lưu trữ phân tán của
Nutch/Hadoop được đưa ra trong luận văn này để giải quyết bài toán trên.

1.3. Tổng lược về các công trình liên quan
1.3.1. Các phương pháp và mô hình xây dựng Ontology
Trong nước: trong quá trình thực hiện luận văn, chúng tôi có tham khảo một số
công trình và nghiên cứu trong nước liên quan đến cách thức để nâng cao hiệu quả
của việc truy hồi thông tin thông qua Ontology và tìm kiếm ngữ nghĩa, như xây
dựng ontology dành cho miền tri thức CNTT của nhóm tác giả T.D.C Chiến và P.T.
Tươi [1] [2] [3] [4], rút trích các thực thể có tên từ nguồn ngữ liệu của Wordnet và

tìm kiếm ngữ nghĩa thông qua ontology của nhóm tác giả C.H Trụ [5] [6] [7] [8],
xây dựng mô hình mở rộng truy vấn dựa trên ontology trong vấn đề truy xuất thông
tin văn bản [9], phương pháp xây dựng ontology thông qua khai thác dữ liệu văn
bản (text-mining) và tham chiếu trên kho ngữ liệu của Wordnet [10].
Trang |2


-- 3 -Ngoài nước: các kỹ thuật và phương pháp xây dựng ontology thông qua huấn luyện
mô hình bán tự động [11], xây dựng ontology bán tự động thông qua rút trích văn
bản [12] [13], phương pháp DAFOE của Szulman và công sự [14].
1.3.2. Chuyển đổi và suy luận ontology trên các nền tảng CSDL
Trong nước: ánh xạ ontology từ dạng OWL sang CSDL bảng quan hệ (RDBMS)
[15], bên cạnh đó đề tài của luận văn cũng tham khảo các đề xuất liên quan đến
phương pháp chuyển đổi tương quan giữa mô hình dữ liệu dạng bảng quan hệ
(RDB) và mô hình ngữ nghĩa của bộ ba thành phần (triple) của ontology [16],
chuyển đổi từ CSDL quan hệ sang mô hình dữ liệu dành cho các hệ web ngữ nghĩa
(semantic web) [17].
Ngoài nước: lưu trữ và suy luận ontology kích thước lớn (large-scale ontology) trên
các nền tảng lưu trữ khác nhau [18], ánh xạ CSDL bảng quan hệ với ontology cho
mộ số miền tri thức nhất định [19] [20] [21] [22], áp dụng mô hình lưu trữ dạng đồ
thị (CSDL đồ thị) cho việc xây dựng, lưu trữ và rút trích tri thức [23] [24] ở dạng
quan hệ ngữ nghĩa (sematic relations).

1.3.3. Các hệ thống phân tán và bài toán xử lý dữ liệu lớn (Big-data)
Nhằm giải quyết các vấn đề liên quan đến lượng dữ liệu lớn của máy tìm kiếm dự
kiến xây dựng cần phải xử lý - một trong những giải pháp về big-data mã nguồn mở
rất nổi tiếng đang được rất nhiều các nhà khoa học trên thế giới quan tâm nghiên
cứu và hoàn thiện đó là Hadoop. Hadoop có nhiều tính năng ưu việt trong việc lưu
trữ và xử lý song song trên nhiều máy với số lượng cực lớn với chi phí và thời gian
ngắn. Trong quá trình xây dựng hệ thống, luận văn đã tham khảo các công trình,

báo cáo liên quan đến tìm kiếm và khai tách thông tin từ kho dữ liệu lớn (big-data),
nền tảng xử lý phân tán Hadoop-HBase cho khối dữ liệu lớn (large-scale data), các
chiến lược lập chỉ mục tài liệu (document indexing) bằng mô hình phân tán
MapReduce.

1.4. Các điểm mới và đóng góp trong luận văn
Từ ý tưởng ban đầu đến các bước triển khai ra thực tế, một số đóng góp và cải tiến đã được
đề xuất và mô tả trong trong luận văn, gói gọn trong bốn thành phần chính sau:
Trang |3


-- 4 - Kế thừa khung kiến trúc cũ và các phương pháp rút trích thực thể, quan hệ từ các
công trình đã công bố [1], và trong suốt quá trình thực hiện đề tài, trong luận văn
đã có đề ra một số cải tiến và hình thức tổ chức dữ liệu cho CDO – nhằm tối ưu hơn
cho việc quản lý cũng như rút trích dữ liệu một cách nhanh chóng.
 Chuyển đổi hình thức lưu trữ và truy vấn CDO trên nền tảng CSDL đồ thị - và rút
trích thông tin thông qua truy vấn cypher.
 Áp dụng phương pháp tìm đường đi ngắn nhất để giải quyết bài toán xác định các
mối quan hệ trung gian giữa các thực thể trong một văn bản, truy vấn… phục vụ
cho việc xác định chủ đề cũng như các thực thể tiềm ẩn liên quan (đóng vai trò quan
trọng trong việc mở rộng truy vấn).
 Xây dựng mô hình máy tìm kiếm trên nền tảng lưu trữ và xử lý phân tán – có tích
hợp CDO vào mô hình máy tìm kiếm nhằm hỗ trợ cho việc tìm kiếm tài liệu cũng
như chọn lọc tài liệu (document filtering) phù hợp cho quá trình lập chỉ mục
(indexing).

1.5. Tổng quan về các vấn đề nghiên cứu trong luận văn
1.5.1. Xây dựng Ontology miền CNTT (CDO) hỗ trợ truy hồi thông tin
1.5.1.1.Mục đích xây dựng và ứng dụng của Ontology miền CNTT
Ontology đang là hạt nhân trọng tâm được nhắm tới trong đề tài này – mục tiêu

mong muốn và nhắm tới của đề tài, phát triển hệ truy hồi thông tin có tích hợp CDO
với cơ chế dựa trên tìm kiếm theo cụm từ/khái niệm thuộc một hay nhiều lĩnh vực
nhất định thông qua việc phát triển các bộ từ điển thuật ngữ/khái niệm kết hợp với
xây dựng/tổ chức các khái niệm trong lĩnh vực CNTT thành các phân lớp cụ thể để
tăng khả năng bám sát nội dụng tài liệu cần tìm dựa trên truy vấn của người dùng
và cũng như mở rộng truy vấn dựa trên các khái niệm có liên quan.

1.5.1.2.Chuyển đổi hình thức lưu trữ và truy vấn CDO trên CSDL đồ thị (graph
database) Neo4J
Các lớp của Ontology ban đầu sẽ được xây dựng theo cấu trúc OWL (Ontology
Web Language), tiếp theo đó sẽ được chuyển đổi sang lưu trữ dưới dạng cơ sở dữ
liệu đồ thị (graph database) nhằm tăng tốc độ cũng như tối ưu hơn cho quá trình rút

Trang |4


-- 5 -trích tri thức từ CDO, hỗ trợ cho quá trình tìm kiếm thông tin - thông qua truy vấn
trung gian cypher (xem [Hình 1.1]).

Kiểm Tra & Điểu Chỉnh
Thủ Công/Bán Tự Động

Ontology
(cấu trúc
dạng OWL)
Các Quá TrìnhHuấn Luyện
& Làm Giàu Ontology

Cơ Sở Dữ Liệu Đồ Thị
(Graph database)

Ánh Xạ/Lưu Trữ

Dữ Liệu Huấn Luyện
Đã Được Phân Loại

Bộ Dữ Liệu
Từ Điển WordNet

Làm giàu CDO thông qua rút
trích thực thể & quan hệ từ
văn bản huấn luận

MATCH p=(a {label:
'java'})-[*1..100]-(b {label:
'python'}) RETURN p;

Các Chủ Đề/Tập Từ
ACM & MAS

Suy luận (reasoning) / rút trích
(extracting) tri thức thông qua
truy vấn trung gian (cypher)

Hình 1.1: Các quá trình xây dựng, làm giàu và lưu trữ CDO trên cơ sở dữ liệu đồ
thị (graph database)
1.5.2.Xây dựng hệ thống truy hồi thông tin (IRS) tích hợp CDO trên nền lưu
trữ và xử lý phân tán
1.5.2.1. Tổng quan về các thành phần cơ bản của máy tìm kiếm được xây dựng
Về mặt tổng quản, thì một hệ truy hồi thông tin hay còn gọi là máy tìm kiếm được
cấu thành bởi chủ yếu hai thành phần chính, bao gồm:

 Bộ lập chỉ mục (indexer): dữ liệu đầu vào là tập các tài liệu/văn bản được thu
thập từ các nguồn khác nhau về, sau đó được đi qua các cơ chế tiền xử lý như
phân tích, tách từ, loại bỏ stopwords…sau đó lập chỉ mục cho các văn bản và
cuối cùng là lưu trữ vào hệ thống.
 Cơ chế tìm kiếm (searcher): tại đây, truy vấn của người dùng được đưa vào để
phân tích sau đó hệ thống sẽ thực hiện tìm kiếm các tập tài liệu đã được đánh
chỉ mục trong kho (corpus) thỏa với tiêu chí của câu truy vấn từ người dùng và
cuối cùng là trả về kết quả.

1.5.2.2. Tổng quan về hình thức tìm kiếm dựa trên từ khóa (keyword-based) và khái
niệm (concept-based)
Tại một số lĩnh vực cũng như nhu cầu tìm kiếm nhất định, các hệ truy hồi thông tin
cũng được phân loại thành hai loại chính với các tính năng và nhiệm vụ khác nhau,
bao gồm (xem [Bảng 1.1]):
Trang |5


-- 6 -Bảng 1.1: So sánh mô hình và cơ chế hoạt động của tìm kiếm dựa trên từ khóa
(keyword-based) và dựa trên khái niệm (concept-based)
Tìm kiếm dựa trên từ khóa
Tìm kiếm thông tin dựa trên khái
(keyword-based retrieval)
niệm (concept-based retrieval)
 Là cách phổ biến nhất, đối với các  Khác với cơ chế tìm kiếm theo từ
máy tìm kiếm dựa trên từ khóa thì
khóa, các hệ truy hồi thông tin hỗ trợ
các cơ chế xử lý chủ yếu dựa trên từ
tìm kiếm trên khái niệm thì chủ yếu
khóa (keywords) của cả văn bản và
dựa vào các tập khái niệm

truy vấn người dùng để làm cơ sở
(concepts) và mối quan hệ giữa
cho việc lập chỉ mục và thực hiện so
chúng trong văn bản hoặc truy vấn
khớp, tìm kiếm.
người dùng để tìm kiếm và lập chỉ
mục.
 Mức độ đơn giản, dễ cài đặt và phát  Phức tạp, đòi hỏi cần có sự hỗ trợ
triển trong ứng dụng thực tế.
của các hệ cơ sở tri thức chuyên gia
để và các mô hình nhận diện thực
thể, khái niệm phức tạp.
 Độ chính xác trong thấp và đòi hỏi  Độ chính xác cao hơn, do có khả
người dùng phải hiểu rõ về mục đích
năng phân tích, hiểu được mục đích
tìm kiếm của mình (thông qua tập từ
tìm kiếm người dùng và đưa ra các
khóa trong truy vấn).
gợi ý để mở rộng truy vấn dựa trên
hệ cở sở tri thức được xây dựng sẵn.
1.5.2.3. Tích hợp CDO vào máy tìm kiếm được xây dựng nhằm phục vụ cho việc
phân tích và mở rộng truy vấn từ người dùng

PHÂN TÍCH TRUY VẤN
NGƯỜI DÙNG & XÁC ĐỊNH
CHỦ ĐỀ

Truy vấn người
dùng: java and
j2se


THAM CHIẾU

TÌM KIẾM

KHO DỮ LIỆU
(CORPUS)

MỞ RỘNG TRUY VẤN DỰA TRÊN
CÁC LỰA CHỌN CỦA NGƯỜI DÙNG
{software, programming, java, j2se}

SOFTWARE

programming

MIỀN TRI THỨC
ĐƯỢC XÁC ĐỊNH
TRÊN ONTOLOGY

LỌC

ĐƯA RA CÁC GỢI Ý/CÁC KHÁI NIỆM
LIÊN QUAN

JAVA

J2SE

...


{software}  {programming}  {java}
 {j2se}

Hình 1.2: Các ứng dụng của việc sử dụng Ontology trong xử lý truy vấn người
dùng và tăng hiệu quả trong tìm kiếm tài liệu
Mô hình máy tìm kiếm sẽ được tích hợp thêm CDO để phục vụ cho việc hỗ trợ tìm
kiếm tài liệu thông qua mở rộng truy vấn từ người dùng, ngoài ra còn phục vụ cho
việc kiểm tra mức độ phù hợp và chọn lọc nội dung tài liệu khi tiến hành lập chỉ
Trang |6


-- 7 -mục. Trên khía cạnh truy hồi thông tin, thì không thể phủ nhận rằng ontology đóng
một vai trò rất to lớn trong việc mang lại các mở rộng và tăng hiệu suất, cũng như
tính chính xác cho các kết quả tìm kiếm được trả về, thông qua việc tham khảo/tra
cứu trên các ontology được xây dựng sẵn thuộc về miền tri thức cân tìm kiếm. Đối
với nhu cầu tìm kiếm thông tin, việc xây dựng ontology rất hữu ích trong việc mang
lại hiệu quả tìm kiếm chính xác cũng như độ bao phủ tìm kiếm cao cho hệ thống
thông qua các khả năng, bao gồm (xem [Hình 1.2]):
 Phân tích, xác định chủ đề của câu truy vấn (query-analyzing): thông qua
câu truy vấn từ người dùng nhập vào, ta có thể dựa vào ontology để xác định
được người dùng cần tìm kiếm các chủ đề liên quan đến các lĩnh vực cụ thể nào
trên miền tri thức, giới hạn lại phạm vi tìm kiếm và tối ưu hơn dữ liệu cần tìm.
 Gợi ý và khơi nguồn các tri thức mờ/tiềm ẩn (knowledge-suggestion): như
ta cũng biết, ontology được cấu thành bởi tập các định nghĩa, đối tượng được
nối kết với nhau bởi các quan hệ và thuộc tính, do vậy dựa vào các đối tượng
được lấy từ truy vấn người dùng ta có thể khơi mở thêm các tri thức liên quan
thông qua việc đưa ra tập các đối tượng có quan hệ với đối tượng cần tìm kiếm
của người dùng.
 Mở rộng truy vấn người dùng (query-expansion): từ các đối tượng liên quan

đến truy vấn của người dùng lựa chọn để tìm kiếm, các đối tượng này sau đó sẽ
được thêm vào câu truy vấn trước khi đưa vào hệ thống để thực hiện tìm kiếm
nhằm đảm bảo tính đầy đủ và chính xác hơn cho điều kiện tìm kiếm.

1.5.2.4. Xây dựng mô hình máy tìm kiếm trên nền tảng lưu trữ và xử lý phân tán
(Nutch/Hadoop)
Hướng tiếp cận giải pháp xây dựng máy tìm kiếm trên nền tảng phân tán nhằm để
giải quyết các khó khăn liên quan đến lưu trữ và xử lý (các công đoạn tiền xử lý,
lập chỉ mục, phân phát xuống các phân vùng lưu trữ…) khối lượng dữ liệu lớn các
tài liệu văn bản được thu thập về, đảm bảo khả năng mở rộng cũng như hiệu suất
của máy tìm kiếm xuyên suốt quá trình hoạt động. Có thể nói trong xu thế phát
triển cùng với các thách thức của BigData, thì mô hình xử lý phân tán của Nutch /
Hadoop được nhắc đến như một giải pháp khá hoàn thiện và được tin cậy, là một
phần kết hợp và mở rộng của Apache Nutch – vốn là một phần mềm mã nguồn mở
phục vụ cho nhu cầu thu thập dữ liệu (data crawling) – tuy nhiên trong xu thế mới
Trang |7


-- 8 -và sự bùng nổ về dữ liệu, Nutch phải đối mặt với việc làm thế nào để quản lý được
kho dữ liệu lưu trữ thu thập một cách hiệu quả và dễ dàng quản lý cũng như tìm
kiếm, kết quả là sự ra đời của Hadoop.
1.5.2.4.1. Nền tảng lưu trữ phân tán Hadoop (HDFS)
Là hình thức tổ chức phân tán dữ liệu lên nhiều vùng lưu trữ khác nhau để lưu trữ
của Hadoop, HDFS (Hadoop Distributed File System) được tổ chức kiến trúc theo
dạng máy chủ/máy con (master/slave), cụ thể là các máy con (slave) được dùng để
chứa các khối dữ liệu - ha gọi là các datanode - các node chứa data này sẽ được
kiểm soát chung bởi một node chủ (master) - hay còn được gọi là namenode. Ngoài
ra, HDFS cũng có thể linh động tương thích với các hệ lưu trữ phân tán ngoài khác
như Local FS, S3 FS (của Amazon)… tao thuận lợi cho việc mở rộng hơn các phạm
vi ứng dụng của mô hình máy tìm kiếm được xây dựng trên nó.

1.5.2.4.2.Cơ chế xử lý phân tán MapReduce
Mô hình MapReduce được công bố vào năm 2004. Mô hình này là một trong nhũng
mô hình lập trình/giải thuật có tính chất đột phát trong công nghệ nói chung và trong
lĩnh vực xử lý phân tán nói riêng. Lý do MapReduce được ra đời từ nhu cầu về mở
rộng vùng lưu trữ cũng nhu cầu xử lý thật nhanh chóng các tác vụ tìm kiếm của
người dùng trên kho dữ liệu chỉ mục khổng lồ của Google.

1.6. Các phương pháp luận và phương pháp nghiên cứu được áp dụng
Xuyên suốt quá trình thực hiện đề tài luận văn, chúng tôi áp dụng nhiều phương pháp luận
và nghiên cứu, bao gồm:
 Phương pháp toán học: nghiên cứu và tận dụng tối đa các giải thuật được áp dụng
cho việc xây dựng, mô hình hóa CDO cũng như ánh xạ cấu trúc tổ chức dữ liệu qua
hình thức lưu trữ khác nhau.
 Phương pháp kế thừa: Tận dụng lại các giải thuật/phần mềm, khung mô hình, kiến
trúc đã được phát triển và công nhận – tìm hiểu và tối ưu lại theo nhu cầu để phục vụ
cho đề tài.

Trang |8


-- 9 - Phương pháp tham khảo / lấy ý kiến từ chuyên gia: tham khảo các công trình đã
được công bố liên quan đến lĩnh vực truy hồi thông tin, xử lý ngôn ngữ tự nhiên, cấu
trúc và xây dựng ontology…
 Phương pháp thực nghiệm và so sánh: nghiên cứu/phát triển đồng thời tiến hành
song song chạy thực nghiệm trên dữ liệu được xây dựng để kiểm định các cơ chế, mô
hình cũng như giả thuật được áp dụng trong hệ thống.

1.7. Kết luận chương
Chương một đã trình bày một cách đầy đủ và có hệ thống về toàn bộ các lý do, mục đích
thực hiện đề tài đi kèm theo sơ lược về tình hình nghiên cứu cũng như các công trình đã

được công bố liên quan đến đề tài - nêu bật được các phạm vi cũng như các đối tượng liên
quan đến đề tài – để từ đó vạch ra được chính xác yếu tố quyết định cũng như phương
hướng để thực hiện đề tài đi kèm với các phương pháp luận, nghiên cứu và đánh giá kết
quả đạt được cho từng thành phần.

Trang |9


-- 10 --

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN
QUAN TRONG ĐỀ TÀI
Một hệ thống truy hồi thông tin (IRS) thông thường được cấu thành bởi nhiều thành phần
với hoạt động và các chức năng khác nhau, nó còn là tập hợp bởi nhiều cơ chế xử lý và các
ứng dụng đan xen hỗ trợ cho nhau để nhằm mục đích mang lại khả năng tìm kiếm thông
tin một cách nhanh và chính xác nhất cho người dùng. Trong phần này của luận văn sẽ
trình bày chi tiết về các nguyên lý cũng như cấu thành của một IRS hoàn chỉnh.
2.1. Các nguyên lý tìm kiếm và truy hồi thông tin
2.1.1. Các mô hình tìm kiếm / so khớp phổ biến
2.1.1.1. Mô hình không gian Vector (Vector Space Model)
Áp dụng trong bài toán so khớp tài liệu và tính độ tương quan, mô hình là phương
pháp tính toán độ tương quan (similarity) [5] giữa câu truy vấn của người dùng và
tài liệu bằng cách chuyển đổi/định nghĩa chúng thành các vector tương ứng (một
Độ tương quan
giữa truy vấn (q) và
tài liệu (d) cũng
được xác định dựa
trên độ lớn của góc
giữa hai vector
trong không gian


Từ Khóa (t1)

vector đại diện cho truy vấn và một vector đại diện cho tài liệu).
Độ tương quan giữa câu truy vấn (q)
và tài liệu (d) được thể hiện bằng
khoảng cách giữa 2 vector, thông
thường có thể bằng xác định bằng
khoảng cách Euclid.
Truy Vấn (q)

Tài Liệu (d)

Truy vấn từ
người dùng
và tài liệu
được chuyển
đổi
thành
dạng vector

(t2)

)
(t3

Hình 2.1: Mô hình hóa sự tương quan giữa truy vấn (q) và tài liệu (d) trên đồ thị
Mô hình này được phát triển dựa trên ý tưởng của là xác định các phần tử đại diện
cho vector chính là các từ khóa được chứa trong nó, sau khi chuyển đổi thành dạng
các vector, các vector này sẽ được dùng để tính toán độ tương quan giữa chúng, độ

tương quan của các 2 vector càng lớn thì cũng có nghĩa là câu truy vấn càng liên
quan đến tài liệu được đại diện bởi vector đó. Để chuyển đổi sang biểu dưới dạng
T r a n g | 10


×