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

Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

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 (2.54 MB, 108 trang )

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

TRẦN BÌNH THÀNH

ỨNG DỤNG KỸ THUẬT HỌC MÁY TRONG CÔNG CỤ TÌM
KIẾM THÔNG TIN THEO LĨNH VƯC CHUYÊN SÂU

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SĨ KHOA HỌC
CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:
Tiến sĩ: TRẦN ĐỨC KHÁNH

Hà Nội – Năm 2010


MỤC LỤC
MỞ ĐẦU.....................................................................................................................1
1. Lý do chọn đề tài ..................................................................................................1
2. Lịch sử tìm hiểu....................................................................................................2
3. Mục đích tìm hiểu, đối tượng, phạm vi tìm hiểu của luận văn.............................2
3.1. Mục đích tìm hiểu ...........................................................................................2
3.2. Đối tượng tìm hiểu ..........................................................................................3
3.3. Phạm vi tìm hiểu .............................................................................................3
4. Các luận điểm cơ bản và đóng góp mới của luận văn..........................................4
4.1. Các luận điểm cơ bản......................................................................................4
4.2. Đóng góp mới của luận văn ............................................................................4
5. Phương pháp tìm hiểu...........................................................................................5


5.1. Phương pháp đọc và tìm hiểu tài liệu .............................................................5
5.2. Phương pháp thực nghiệm khoa học...............................................................5
5.3. Phương pháp so sánh - đối chiếu ....................................................................5
6. Cấu trúc của luận văn.........................................................................................5
NỘI DUNG .................................................................................................................7
CHƯƠNG I. ................................................................................................................7
TỔNG QUAN VỀ MÁY TÌM KIẾM THÔNG TIN THEO LĨNH VỰC
CHUYÊN SÂU.......................................................................................................7
1.1. Hệ thống tìm kiếm tổng quát .............................................................................8
1.1.1. Kiến trúc chung của các hệ thống tìm kiếm.................................................8
1.1.1.1. Bộ thu thập thông tin (Crawler) ............................................................8
1.1.1.2. Bộ lập chỉ mục (Indexer).......................................................................8
1.1.1.3. Bộ tìm kiếm thông tin (Searcher)..........................................................8
1.1.2. Nguyên lý làm việc chung của hệ thống tìm kiếm ......................................9
1.1.2.1. Web crawling (Thu thập thông tin) .......................................................9
1.1.2.2. Indexing (Đánh chỉ mục).......................................................................9


1.1.2.3. Searching (Tìm kiếm)..........................................................................10
1.1.3. Các vấn đề cần phải giải quyết đối với hệ thống tìm kiếm........................10
1.2. Một số cách đánh giá chất lượng crawler........................................................10
1.3. Hệ thống tìm kiếm theo lĩnh vực chuyên sâu ..................................................11
1.3.1. Tại sao phải xây dựng hệ thống tìm kiếm theo lĩnh vực chuyên sâu.........11
1.3.2. Nguyên lý và kiến trúc của hệ thống tìm kiếm theo lĩnh vực chuyên
sâu................................................................................................................13
1.3.2.1. Nguyên lý ............................................................................................13
1.3.2.2. Kiến trúc chung ...................................................................................13
CHƯƠNG II..............................................................................................................17
CƠ SỞ LÝ THUYẾT VÀ GIẢI PHÁP ĐỂ XÂY DỰNG CÔNG CỤ THU
THẬP THÔNG TIN THEO LĨNH VỰC CHUYÊN SÂU...................................17

2.1. Tổng quan về Học tăng cường và thuật toán Q-learning ................................17
2.1.1. Khái niệm về học tăng cường ....................................................................17
2.1.2. Thuật toán Q-learning ................................................................................19
2.1.3. Ví dụ minh họa cho thuật toán Q-learning ................................................22
2.1.4. Nhận xét .....................................................................................................30
2.1.5. Quan hệ giữa học tăng cường và bài toán crawler.....................................30
2.1.6. Các khó khăn khi áp dụng Học tăng cường vào thực tế ............................30
2.1.7. Giải thuật Crawling theo lĩnh vực chuyên sâu...........................................32
2.1.7.1. Anchor text và các đặc trưng để phân biệt các trang web...................33
2.1.7.2. Ánh xạ: Tập các từ → giá trị Q ...........................................................34
2.1.7.3. Xây dựng tập huấn luyện của crawler dựa trên Hadoop của
Nutch........................................................................................................35
2.1.7.4. Huấn luyện crawler .............................................................................41
2.1.7.5. Quá trình hoạt động của crawler .........................................................41
2.2. Phân loại văn bản bằng phương pháp vector hỗ trợ ........................................43
2.2.1. Khái niệm về phân loại văn bản.................................................................43
2.2.2. Vai trò của phân loại văn bản và các yếu tố tác động đến kết quả
phân loại văn bản trong bài toán crawl .......................................................43


2.2.3. Các vấn đề cơ bản trong phân loại văn bản ...............................................44
2.2.3.1. Biểu diễn văn bản ................................................................................44
2.2.3.2. Trích rút đặc trưng...............................................................................48
2.2.4. Bộ phân loại vector hỗ trợ (Support Vector Machine – SVM) .................50
2.2.4.1. Trường hợp phân tách tuyến tính ........................................................52
2.2.4.2. Siêu phẳng lề mềm ..............................................................................53
2.2.4.3. Tách phi tuyến .....................................................................................54
2.2.4.3. Ví dụ ....................................................................................................56
2.2.4.4. Huấn luyện SVM.................................................................................57
2.2.4.5. Giải bài toán tối ưu hóa bằng phương pháp Sequential Minimal

Optimization (SMO)................................................................................58
2.2.4.6. Phân loại đa lớp bằng phương pháp Direct Acyclic Graph
Support Vector Machines ........................................................................58
2.2.5. Xây dựng bộ phân loại tài liệu với SVM ứng dụng cho bộ crawler
trong hệ thống tìm kiếm thông tin theo lĩnh vực chuyên sâu......................60
2.2.5.1. Các giải thuật và phương pháp được sử dụng để phát triển mô
hình ..........................................................................................................60
2.2.5.2. Các biện pháp nâng cao hiệu quả cho máy phân lớp ..........................61
2.3. Sử dụng automata kết hợp xác suất thống kê để tách từ tiếng Việt ................62
2.3.1. Các hướng tiếp cận để tách từ....................................................................62
2.3.2. Khái quát về automata hữu hạn trạng thái xác định ..................................62
2.3.3. Xây dựng đồ thị biểu diễn cụm từ .............................................................64
2.3.4. Giải quyết nhập nhằng ...............................................................................66
2.3.5. Xây dựng bộ tách từ tiếng Việt..................................................................68
2.3.5.1. Xây dựng từ điển từ vựng tiếng Việt ......................................................68
2.3.5.2. Xây dựng automata đoán nhận âm tiết tiếng Việt ..................................69
2.3.5.3. Xây dựng automata đoán nhận từ vựng tiếng Việt .................................70
2.3.5.4. Xây dựng automata để mã hóa từ láy .....................................................70
2.3.5.5. Xây dựng automata đoán nhận tên riêng ................................................72
2.3.5.6. Xây dựng modul cắt cụm từ....................................................................73


2.3.6.7. Kiến trúc tổng thể của bộ tách từ tiếng Việt ...........................................74
CHƯƠNG III ............................................................................................................77
CÀI ĐẶT THỬ NGHIỆM CÔNG CỤ THU THẬP THÔNG TIN THEO
LĨNH VỰC CHUYÊN SÂU VÀ BÀN LUẬN ....................................................77
3.1. Phương hướng cài đặt hệ thống tìm kiếm thông tin theo lĩnh vực chuyên
sâu ..................................................................................................................77
3.2. Kiến trúc của Nutch.........................................................................................78
3.3. Hoạt động của Nutch crawler ..........................................................................78

3.3.1. Cấu trúc thư mục làm việc của Nutch........................................................79
3.3.2. Phiên làm việc của Nutch Crawler ............................................................82
3.3.3. Phiên làm việc của Nutch Crawler có ứng dụng học tăng cường..............83
3.4. Kết quả thử nghiệm và bàn luận......................................................................85
3.4.1. Kết quả thử nghiệm của việc tách từ tiếng Việt ...........................................85
3.4.1.1. Kết quả trên Dantri..................................................................................85
3.4.1.2. Kết quả trên VnExpress ..........................................................................86
3.1.4.3. Kết quả trên Vietnamnet .........................................................................86
3.4.1.4. Kết quả trung bình ..................................................................................87
3.4.2. Kết quả thử nghiệm với bộ phân loại tài liệu với SVM cho các tài liệu
tiếng Việt........................................................................................................87
3.4.2.1. Bộ dữ liệu tin tức gồm 3 chủ đề: "pháp luật", "đời sống" và "giáo
dục", được lấy từ báo điện tử vnexpress.net............................................88
3.4.2.2. Phân loại 2 lớp với bộ dữ liệu lấy từ trang Dantri...............................89
3.4.3. Kết quả thử nghiệm cho hệ thống thu thập thông tin.................................89
3.4.3.1. Thử nghiệm trên trang báo điện tử VNExpress với chuyên mục
sức khỏe ...................................................................................................90
3.4.3.2. Thử nghiệm trên 24h với chuyên mục tuyển dụng Công nghệ
thông tin ...................................................................................................91
KẾT LUẬN VÀ KIẾN NGHỊ...................................................................................94
TÀI LIỆU THAM KHẢO.........................................................................................95


DANH MỤC BẢNG BIỂU
Bảng 1.1: Kết quả tách từ trung bình với dữ liệu từ Dantri. ....................................86
Bảng 1.2: Kết quả tách từ trung bình với dữ liệu từ VnEpxress...............................86
Bảng 1.3: Kết quả tách từ trung bình với dữ liệu từ Vietnamnet..............................86
Bảng 1.4: Kết quả trung bình của việc tách từ tiếng Việt, từ hai nguồn dữ liệu
Vietnamnet và VnExpress.................................................................................87
Bảng 1.5: Kết quả thử nghiệm SVM với 3 chủ đề Pháp luật, Đời sống và Giáo

dục. ...................................................................................................................88
Bảng 1.6: Kết quả thử nghiệm phân loại tài liệu tiếng Việt 2 lớp. ...........................89

DANH MỤC HÌNH VẼ
Hình 1.1: Kiến trúc tổng quát của một hệ thống tìm kiếm. .........................................8
Hình 1.2: Minh họa cho hiệu quả của hệ thống tìm kiếm theo lĩnh vực chuyên
sâu.....................................................................................................................12
Hình 1.3: Minh họa hoạt động của các loại crawler trên một đồ thị link. ...............13
Hình 1.4: Mô hình kiến trúc của hệ thống tìm kiếm theo lĩnh vực chuyên sâu do
nhóm SE2010 đề xuất. ......................................................................................16
Hình 2.1: Quan hệ giữa tác tử và môi trường trong học tăng cường.......................17
Hình 2.2: Đồ thị mô hình hóa trạng thái...................................................................22
Hình 2.3: Đồ thị trạng thái khởi động ban đầu.........................................................22
Hình 2.4: Đồ thị trạng thái sau khi đã kết thúc giải thuật. .......................................29
Hình 2.5: Minh họa việc chuyển trạng thái của Crawler. ........................................31
Hình 2.6: Ví dụ về quan hệ giữa anchor text và URL...............................................33
Hình 2.7: Mô phỏng giá trị Q cho từng link. ............................................................34
Hình 2.8: Mô hình thuật toán MapReduce................................................................35
Hình 2.9: Minh họa về Out-link và In-link................................................................38
Hình 2.10: Minh họa cho việc cập nhật Score cho các Inlink (đường nét đứt). .......39


Hình 2.11: Sơ đồ các bước xây dựng tập huấn luyện và huấn luyện........................40
Hình 2.12: Quá trình hoạt động của bộ crawl.........................................................42
Hình 2.13: Mô hình bài toán phân loại văn bản.......................................................43
Hình 2.14: Minh học cách biểu diễn văn bản theo vector trọng số. .........................45
Hình 2.15: Mô hình không gian vector với 3 tài liệu và 3 khái niệm. ......................45
Hình 2.16: Minh họa về góc giữa các vector tài liệu................................................47
Hình 2.17: Ý tưởng của phương pháp Support Vector Machine. .............................51
Hình 2.18: Mặt siêu phẳng tách các mẫu dương khỏi mẫu âm. ...............................52

Hình 2.19: Minh họa cho trường hợp siêu phẳng lề mềm. .......................................53
Hình 2.20: Minh họa cho việc sử dụng ánh xạ phi tuyến φ. .....................................54
Hình 2.21: Đồ thị của hàm phân biệt các lớp. ..........................................................57
Hình 2.22: Ý tưởng của giải thuật Direct Acyclic Graph Support Vector
Machines...........................................................................................................59
Hình 2.23: Mô hình bộ phân loại tài liệu với SVM...................................................60
Hình 2.24: Mô hình tiền xử lý mẫu huấn luyện.........................................................61
Hình 2.25: Đồ thị biểu diễn cụm từ có sự nhập nhằng. ............................................64
Hình 2.26: Một tình huống nhập nhằng cần được xử lý. ..........................................65
Hình 2.27: Từ điển biễu diễn dạng cây. ....................................................................68
Hình 2.28: Từ điển đã được tối thiếu hóa. ................................................................69
Hình 2.29: Mô hình xây dựng automata đoán nhận âm tiết tiếng Việt.....................70
Hình 2.30: Mô hình xây dựng automata đoán nhận từ vựng tiếng Việt. ..................70
Hình 2.31: Minh họa bộ chuyển trạng thái hữu hạn f1 cho lớp a. ..........................71
Hình 2.32: Minh họa bộ chuyển trạng thái hữu hạn f 2 với 2 từ láy thuộc lớp b. ...71
Hình 2.33: Minh họa bộ chuyển trạng thái hữu hạn f 2 với 3 từ láy thuộc lớp b. ...71
Hình 2.34: Minh họa bộ chuyển trạng thái hữu hạn f 3 với 4 từ láy thuộc lớp c.....72
Hình 2.35: Mô hình quá trình đoán nhận tên riêng sử dụng automata. ...................73
Hình 2.36: Minh họa cho hoạt động của modul cắt cụm từ......................................74
Hình 2.37: Kiến trúc bộ tách từ tiếng Việt. ...............................................................75
Hình 3.1: Kiến trúc một máy tìm kiếm dựa trên Nutch. ............................................78


Hình 3.2: Sơ đồ hoạt động của crawler. ...................................................................79
Hình 3.3: Cấu trúc thư mục làm việc của Nutch Crawler. .......................................80
Hình 3.4: Phiên làm việc của Nutch Crawler. ..........................................................82
Hình 3.5: Phiên làm việc của Nutch Crawler có ứng dụng học tăng cường. ...........84
Hình 3.6: Biểu đồ kết quả tách từ với dữ liệu từ Dantri. ..........................................85
Hình 3.7: Biểu đồ kết quả tách từ với dữ liệu từ VnExpress.....................................86
Hình 3.8: Biểu đồ kết quả tách từ với dữ liệu từ Vietnamnet....................................87

Hình 3.9: Biểu đồ kết quả phân loại văn bản 2 lớp. .................................................89
Hình 3.10: Kết quả thử nghiệm trên VNExpress với chuyên mục sức khỏe. ............91
Hình 3.11: Kết quả thử nghiệm trên 24h với chuyên mục "tuyển dụng công nghệ

thông tin". .........................................................................................................92


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

DANH MỤC THUẬT NGỮ ĐƯỢC SỬ DỤNG

Thuật ngữ

Ý nghĩa

Agent

Tác tử/ tác nhân

Anchor Text

Đoạn văn bản nhúng vào một địa chỉ liên kết

Breadth-First Crawler

Bộ (hệ thống) thu thập thông tin bằng cách tìm
kiếm theo chiều rộng

Classification/ classifier


Phân lớp/ lớp

Crawler

Bộ thu thập thông tin

Direct Acyclic Graph Support
Vector Machines (DAGSVM)

Phương pháp vector hỗ trợ đồ thị không tuần hoàn
hoàn toàn

Document

Tài liệu

Domain-specific seach engine

Máy tìm kiếm thông tin theo lĩnh vực chuyên sâu

Focused Crawler

Hệ thống thu thập thông tin tập trung được giới
thiệu bởi [3]

General search engine

Máy tìm kiếm tổng quát

Hadoop


Thư viện cho mô hình lập trình MapReduce

Indexer

Bộ đánh chỉ mục

In-link

Địa chỉ liên kết trỏ tới một trang web

Intelligent crawler hoặc
intelligent spider

Bộ tìm kiếm thông minh

Karash – Kuhn – Tucker
(KKT)

Điều kiện để bài toán tối ưu hóa có nghiệm

Link

Địa chỉ liên kết của một trang web

Map File

Định dạng lưu trữ được đánh chỉ mục của Hadoop

MapReduce


Một mô hình lập trình song song

Minimal Deterministic Finitestate Automata (MDFA)

Automata hữu hạn trạng thái xác định tối thiểu

Nutch

Thư viện mã nguồn mở bằng ngôn ngữ Java để
xây dựng máy tìm kiếm của hãng Apache

Online search

Tìm kiếm trực tuyến


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

Optimal Orthogonal Centroid
Feature Selection (OCFS)

Phương pháp lựa chọn đặc trưng trọng tâm trực
giao tối ưu

Out-link

Địa chỉ liên kết xuất phát từ một trang web

Reinforcement learning (RL)


(Phương pháp) học tăng cường

Retrieval system rank

Thứ hạng của hệ thống sau khi cập nhật

Score

Điểm (độ ưu tiên) cho một liên kết hoặc một trang
web

Search engine

Máy tìm kiếm thông tin

Searcher

Bộ tìm kiếm thông tin đã được đánh chỉ mục

seed URLs

Các URL hạt giống

Sequence File

Định dạng dữ liệu theo kiểu tuần tự của Hadoop

Sequential Minimal
Optimization (SMO)


Phương pháp tối ưu hóa tuần tự cực tiểu

Support Vector Machine (SVM)

Phương pháp phân loại vector hỗ trợ

Term

Khái niệm/ đặc trưng

Text

Đoạn văn bản

Uniform Resource Locator (URL)

Đường dẫn, được cấu tạo bởi 5 thành phần chính,
bao gồm: tên giao thức, dịch vụ World Wide Web
(www), tên miền, cổng và phần phụ

Vector Space Model (VSM)

Mô hình không gian vector


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

MỞ ĐẦU


1. Lý do chọn đề tài
Trong thời đại ngày nay, thông tin là nhu cầu thiết yếu đối với mọi người
trên mọi lĩnh vực. Với số lượng các trang Web lên đến hàng tỉ, theo Viện tìm hiểu
NEC, cứ mỗi giây lại có thêm 25 trang Web mới bổ sung vào con số 1,4 tỷ trang đã
có trên Net.(1)
Khi số lượng thông tin trên mạng toàn cầu ngày càng phát triển, thì việc tìm
đúng cái chúng ta cần ngày càng trở nên khó khăn. Chẳng hạn, nếu muốn tìm
"ceramics" nhờ Google(2) thì Google xem xét tất cả số lượng site liên kết đến trang
cần tìm và mức độ quan trọng của những site có các liên kết này và.bạn sẽ có một
danh mục các site "ceramics" mà những trang Web có uy tín thường liên kết đến.
Đây là cách tìm rất tốt trong trường hợp bạn không có một site chủ đích nào, hay
bạn tìm kiếm theo kiểu đa nghĩa. Kết quả thường rất khó để có được độ chính xác
cao, thậm chí với cả các truy vấn chi tiết. Tìm hiểu gần đây của tập đoàn comScore
Inc trên một số công cụ tìm kiếm hiện tại cho thấy có tới 30% số lượt tìm kiếm
không cho ra kết quả như mong muốn. Đồng thời, gần 70% người dùng phải tìm
kiếm và lọc lại thông tin từ trang kết quả. Có lẽ vì lý do đó mà Giám đốc điều hành
Microsoft - Steve Ballmer cho biết: “Ngày nay các công cụ tìm kiếm đã trở thành

nhu cầu tất yếu cho những người muốn tìm kiếm thông tin trên internet nhưng
những công cụ tìm kiếm này chưa hỗ trợ tốt người dùng trong việc sử dụng các kết
quả tìm được." (3) Không những thế, chi phí đầu tư cho hệ thống tìm kiếm tổng quát
lại quá lớn so với khả năng đầu tư của hầu hết các cơ quan, tổ chức có nhu cầu xây
dựng cổng internet phục vụ cho nhu cầu tìm kiếm thông tin của riêng mình.
Để có thể tìm kiếm được thông tin mong muốn được nhanh hơn, chính xác
hơn và có thể tái sử dụng trên nhiều lĩnh vực khác nhau với một chi phí đầu tư chấp
nhận được của các cơ quan, tổ chức trong thực tế thì việc sử dụng máy tìm kiếm
(1)

/>
(3)

/>(2)

1
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

thông tin theo lĩnh vực chuyên sâu (theo chủ đề/ chuyên mục) là hợp lý. Đây cũng
chính là các lý do cơ bản mà luận văn lựa chọn đề tài này.
2. Lịch sử tìm hiểu
Để khắc phục hạn chế của hệ thống tìm kiếm tổng quát như đã trình bày ở trên,
hiện nay đã có nhiều giải pháp được đề xuất đó là xây dựng các cổng Internet theo lĩnh
vực chuyên sâu và đã đem lại kết quả khá khả quan, chẳng hạn như:
- www.mrqe.com (Stewart M. Clamen - 1993):(4) Cho phép người dùng tìm
kiếm các nhận xét của các bộ phim. Khi nhập vào một tên phim, chương trình sẽ
cung cấp các liên kết đến các nhận xét có liên quan từ báo, tạp chí, và cá nhân từ
khắp nơi trên thế giới;
- www.maths.usyd.edu.au/MathSearch.html (Peregrinator - 1994):(5) Cho
phép người dùng tìm kiếm các trang web về toán học;
- www.travel-finder.com (Ken Wadland - 1996):(6) Cho phép người dùng
tìm kiếm các trang web về du lịch, với các tiện ích đặc biệt để tìm kiếm theo phạm
vi hoạt động, thể loại và vị trí;
- Và đặc biệt là hướng phát triển của www.cora.justresearch.com (McCallum
- 1999): Cho phép tìm kiếm các báo cáo về khoa học máy tính, bằng cách ứng dụng
kỹ thuật học máy trong việc tìm kiếm thông tin theo lĩnh vực chuyên sâu.
Tiếp thu thành tựu của các nhà khoa học đi trước, chúng tôi cố gắng thực
hiện đề tài: "Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo
lĩnh vực chuyên sâu". Bởi vì các công trình tìm hiểu trên có tính chất định hướng
cho luận văn của chúng tôi.

3. Mục đích tìm hiểu, đối tượng, phạm vi tìm hiểu của luận văn.
3.1. Mục đích tìm hiểu
Một hệ thống tìm kiếm thông tin nói chung đều phải giải quyết ba bài toán
cơ bản. Đó là, xây dựng các công cụ: Thu thập thông tin (crawler); lập chỉ mục
(indexer) và tìm kiếm (searcher).
(4)

Theo />Từ 2001 đã đổi tên là www.maths.usyd.edu.au/SMSsearch.html
(6)
Theo />(5)

2
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

Trong khuôn khổ đề tài, luận văn tập trung tìm hiểu và tích hợp các modul
phân loại văn bản dùng vector hỗ trợ và modul tách từ tiếng Việt dùng automata kết
hợp xác xuất thống kê với modul thu thập thông tin ứng dụng ý tưởng của lý thuyết
học tăng cường sử dụng thuật toán Q-Learning để xây dựng một bộ (công cụ) thu
thập thông tin trong hệ thống tìm kiếm thông tin theo lĩnh vực chuyên sâu với chiến
lược tìm được đường đi ngắn nhất tới tài liệu và tránh tối đa các vùng không có khả
năng đem lại tài liệu đúng chủ đề theo hướng đề xuất của McCallum.
3.2. Đối tượng tìm hiểu
Luận văn tập trung tìm hiểu các vấn đề cơ bản về bộ thu thập thông tin
trong các hệ thống tìm kiếm thông tin, đặc biệt là ý tưởng xây dựng công cụ tìm
kiếm thông tin theo lĩnh vực chuyên sâu bằng cách ứng dụng lý thuyết về học tăng

cường do McCalum đã đề xuất.

Với mong muốn xây dựng công cụ thu thập thông tin theo lĩnh vực chuyên
sâu có sự ưu tiên cho người dùng tiếng Việt, phương pháp phân loại văn bản dùng
vector hỗ trợ và ứng dụng automata hữu hạn trạng thái xác định kết hợp xác suất
thống kê để thực hiện tách từ tiếng Việt cũng được quan tâm.
Ngoài ra, luận văn còn tìm hiểu thêm một số vấn đề về mã nguồn mở Nutch
để xây dựng và cài đặt thử nghiệm hệ thống theo ý tưởng đã xây dựng.
3.3. Phạm vi tìm hiểu
Trên cơ sở tìm hiểu ứng dụng một số thuật toán của các công trình đã nghiên
cứu trước đây có liên quan tới mục đính chính là tập trung tìm hiểu và tích hợp
modul tách từ tiếng Việt sử dụng automata hữu hạn trạng thái xác định kết hợp xác
suất thống kê và modul phân loại văn bản dùng vector hỗ trợ với modul crawler có
ứng dụng ý tưởng của lý thuyết học tăng cường theo lĩnh vực chuyên sâu dựa trên
cơ chế thu thập thông tin của mã nguồn mở Nutch. Một số thuật toán cơ bản mà luận
văn đã tìm hiểu để phục vụ cho mục đích mà đề tài muốn đề cập là:
- Thuật toán Q-Learning cho học tăng cường của Watkins, phương pháp
phân loại hồi qui của Luís Torgo and João Gama;

3
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

- Thuật toán phân loại văn bản bằng vector hỗ trợ (SVM) của Vladimir
Vapnik, với sự lựa chọn các đặc trưng theo thuật toán trọng tâm trực giao tối ưu
(OCFS) và thuật toán tối ưu hóa tuần tự cực tiểu (SMO);
- Thuật toán xây dựng automata tối thiểu mã hóa từ vựng tiếng Việt của
nhóm tác giả Jan Daciuk, thuật toán xây dựng automata đoán nhận âm tiết và từ
vựng, cũng như để mã hóa từ láy và đoán nhận tên riêng của nhóm tác giả Nguyễn
Minh Huyền và Lê Hồng Phương.

4. Các luận điểm cơ bản và đóng góp mới của luận văn
4.1. Các luận điểm cơ bản
Khi thiết kế một website, nhà thiết kế mong muốn người dùng tìm được
thông tin cần thiết dễ dàng nhất. Do đó, các kí tự chứa liên kết (anchor) và text của
trang web chứa link đó có khả năng biểu đạt nội dung rất tốt. Hệ thống thu thập
thông tin theo lĩnh vực chuyên sâu này sử dụng triệt để các anchor và nội dung văn
bản của các trang web để quyết định đường đi. Từ đó tiết kiệm được thời gian cũng
như băng thông đường truyền cho toàn bộ quá trình. Để nhận biết được đặc trưng
của anchor và nội dung văn bản của trang web, bộ phân loại văn bản bằng vector
hỗ trợ sẽ được sử dụng.
Do các tài liệu tiếng Việt có các đặc điểm riêng (có từ láy, từ ghép,...) nên
trước khi phân loại văn bản chúng tôi phải sử dụng thao tác tách từ sao cho có hiệu
quả giúp cho quá trình thu thập thông tin bằng ngôn ngữ tiếng Việt được chính xác
nhất cũng cần được quan tâm.
4.2. Đóng góp mới của luận văn
Luận văn đã cho thấy khả năng cải thiện hiệu năng làm việc của hệ thống
tìm kiếm thông tin theo lĩnh vực chuyên sâu bằng cách thay thế phương pháp phân
loại văn bản Naïve Bayes theo đề xuất của nhóm tác giả McCallum bằng phương
pháp dùng vector hỗ trợ.
Để tăng khả năng thích ứng của hệ thống trong quá trình thu thập thông tin
là tiếng Việt, ngoài việc ứng dụng phương pháp tách từ tiếng Việt của nhóm tác giả
Lê Hồng Phương đề xuất, chúng tôi đã bổ sung thêm modul cắt cụm từ.

4
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

Hơn nữa luận văn còn mong muốn có thể xây dựng một hệ thống thu thập

thông tin theo lĩnh vực chuyên sâu bằng cách không những chỉ phân tích các trang
web đúng chủ đề mà còn có khả năng dựa vào các trang web trung gian (trang web
không mang chủ đề) để tìm đến trang web đúng chủ đề, vì trong thực tế có rất nhiều
trang web không đúng chủ đề lại gián tiếp trỏ tới trang web đúng chủ đề.
Hệ thống có khả năng hoạt động trên môi trường tiếng Việt. Do đó, hệ
thống có thể phục vụ tốt cho người dùng tiếng Việt. Cùng với chi phí đầu tư có thể
chấp nhận được và khả năng linh hoạt của hệ thống sau khi được hoàn thiện hoàn
toàn có thể giúp cho các cơ quan, tổ chức xây dựng và duy trì cổng thông tin điện tử
để tìm kiếm thông tin về một lĩnh vực chuyên sâu khi có nhu cầu.
5. Phương pháp tìm hiểu
5.1. Phương pháp đọc và tìm hiểu tài liệu
Phương pháp đọc và tìm hiểu tài liệu được tiến hành chủ yếu sau khi xác
định cơ sở lý luận cho đề tài. Để giải quyết tốt vấn đề đặt ra của đề tài, cần tiến hành
tìm hiểu lý thuyết về khoa học đánh giá cũng như một số vấn đề về lý thuyết có liên
quan đã trình bày trong phần đối tượng tìm hiểu của luận văn.
5.2. Phương pháp thực nghiệm khoa học
Với khoa học đánh giá thì thực nghiệm là một khâu quan trọng trong quy
trình tìm hiểu. Do vậy, việc thử nghiệm trong đề tài này không phải chỉ như một
phương pháp tìm hiểu mà còn là một nội dung nhất thiết cần phải có.
5.3. Phương pháp so sánh - đối chiếu
Để thấy được hiệu quả của mục đích tìm hiểu, chúng tôi đã tiến hành so
sánh kết quả chạy thử nghiệm của hệ thống đã xây dựng với các hệ thống tìm kiếm
khác, như: hệ thống Breadth-First Crawler và hệ thống Focued Crawler trên cùng
một điều kiện tương đương.
6. Cấu trúc của luận văn
Ngoài phần mở đầu và kết luận cùng với định hướng về hướng phát triển
của đề tài, luận văn được trình bày chủ yếu trong 3 chương:

5
Machine Learning Techniques for Domain specific Search Engine



Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

Chương I: Trình bày một cách tổng quan về hệ thống tìm kiếm, từ đó đưa ra
sự cần thiết của việc xây dựng công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu;
Chương II: Trình bày các cơ sở lý thuyết và giải pháp để xây dựng công cụ
thu thập thông tin theo lĩnh vực chuyên sâu;
Chương III: Trình bày các vấn đề cơ bản về mã nguồn mở Nutch và kết quả
thử nghiệm công cụ thu thập thông tin theo lĩnh vực chuyên sâu.

6
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

NỘI DUNG
Chương I.
TỔNG QUAN VỀ MÁY TÌM KIẾM THÔNG TIN THEO LĨNH VỰC
CHUYÊN SÂU

Chúng ta đang sống trong kỷ nguyên của dữ liệu và Internet trở thành một
trong những kho tri thức lớn nhất của loài người. Thật khó để có thể đo lường được
số lượng dữ liệu trên Internet, nhưng IDC ước lượng con số đó khoảng 0,18
zettabyte vào năm 2006 và khoảng 1,8 zettabyte vào năm 2011 [26] (một zettabyte
bằng 10 21 byte, tương đương với 103 exabyte hay 10 6 petabyte hoặc 109 terabyte).
Điều này tương đương với việc phát cho mỗi người trên thế giới một đĩa cứng dung
lượng 1,5 terabyte mới lưu trữ đủ số dữ liệu trên.
Việc khai thác lượng tri thức trên là một thách thức lớn. Để tìm được thông

tin đúng nhu cầu, đòi hỏi chi phí rất lớn về phần cứng và chất xám. Các máy tìm
kiếm tổng quát (general search engine) đã ra đời và đã đáp ứng được nhu cầu của
con người như Yahoo(7), Bing(8), Google, hay tại Việt Nam là Socbay(9), Xalo(10)...
Khó khăn đặt ra là các máy tìm kiếm hiện nay chưa thể tìm hết được dữ liệu trên
Internet. Theo các số liệu đánh giá thì mới chỉ có khoảng 60% tài nguyên trên
Internet được xử lý và tìm kiếm. Một vấn đề khác là các máy tìm kiếm tổng quát
thường trả về quá nhiều kết quả, làm cho người dùng bối rối khi tìm cho mình kết
quả phù hợp.
Vì vậy, qua việc tìm hiểu các vấn đề cần phải giải quyết đối với hệ thống tìm
kiếm tổng quát ta sẽ thấy sự cần thiết của các đề xuất cho việc xây dựng một bộ thu
thập thông tin của hệ thống tìm kiếm thông tin theo lĩnh vực chuyên sâu.

(7)

/> />(9)
/>(10)

(8)

7
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

1.1. Hệ thống tìm kiếm tổng quát
1.1.1. Kiến trúc chung của các hệ thống tìm kiếm
Theo nhiều tác giả khác khi bàn luận đến tổng quan về Search Engine ta thấy
một hệ thống tìm kiếm thông tin nói chung có ba thành phần chính (Hình 1.1):
1.1.1.1. Bộ thu thập thông tin (Crawler)

Bộ thu thập thông tin là một chương trình tự động có nhiệm vụ thu thập tài
liệu và một cách đệ quy. Nó nhận về tất cả tài liệu có liên kết với tài liệu gốc theo
một trình tự tối ưu.
1.1.1.2. Bộ lập chỉ mục (Indexer)
Hệ thống lập chỉ mục hay còn gọi là hệ thống phân tích và xử lý dữ liệu, thực
hiện việc phân tích, trích chọn những thông tin cần thiết từ những dữ liệu mà
crawler thu thập được và tổ chức thành cơ sở dữ liệu riêng để sau đó giúp cho việc
tìm kiếm trên đó một cách nhanh chóng, hiệu quả. Bởi nó là danh sách các từ khoá,
và được chỉ rõ các từ khoá đó xuất hiện ở trang nào, địa chỉ nào.
1.1.1.3. Bộ tìm kiếm thông tin (Searcher)
Bộ tìm kiếm thông tin tương tác với người dùng (user) thông qua giao diện
web, có nhiệm vụ tiếp nhận câu truy vấn và trả về những tài liệu thoả mãn yêu cầu
của người dùng.

Hình 1.1: Kiến trúc tổng quát của một hệ thống tìm kiếm.
8
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

Ngày nay, hầu hết các search engine đều hỗ trợ chức năng tìm kiếm cơ bản
và nâng cao, tìm từ đơn, từ ghép, cụm từ, danh từ riêng, hay giới hạn phạm vi tìm
kiếm như tên đề mục, tiêu đề, đoạn văn bản giới thiệu về trang web,… Ngoài chiến
lược tìm chính xác theo từ khoá, các search engine còn cố gắng "hiểu" ý nghĩa thực
sự của câu hỏi thông qua những câu chữ do người dùng cung cấp.
1.1.2. Nguyên lý làm việc chung của hệ thống tìm kiếm
Một hệ thống tìm kiếm nói chung hoạt động theo trình tự như sau:
1.1.2.1. Web crawling (Thu thập thông tin)
Hệ thống tìm kiếm Web hoạt động bằng cách lưu trữ thông tin về nhiều trang

web, thông qua việc khai thác các phần tử đánh dấu trong HTML. Chẳng hạn như
đánh dấu liên kết ngoài chứa phần liên kết từ trang này đến trang kia. Ví dụ, href=" sẽ hiển thị từ Wikipedia như là
một liên kết ngoài đến một URL. Đồng thời với đó là các giải pháp khai thác các thẻ
META, trong đó được lưu tâm nhất là các thẻ: content="(miêu tả ngắn nội dung trang Web)">; content="(danh sách từ khoá)"> và thẻ <title>(tựa đề của trang Web)</title>.
Thường kỳ, máy tìm kiếm sẽ dò quyét nội dung tất cả các trang Web trên
Internet và cập nhật nội dung văn bản (text) vào cơ sở dữ liệu khổng lồ của mình
mà người dùng có thể khai thác. Để làm việc này, các máy tìm kiếm thường gửi các
Web crawler, web spider hay web robot (ví dụ googlebot của Google hay Yahoo
slurp của Yahoo) đến các trang cần đánh chỉ mục hoặc lưu trữ. Các chương trình
máy tính thực hiện tìm kiếm thông tin trên internet này sẽ truy cập phân tích và gửi
nội dung về các máy tìm kiếm.
1.1.2.2. Indexing (Đánh chỉ mục)
Lập chỉ mục là giai đoạn phân tích tài liệu (document) để xác định các chỉ
mục (term / index term) biểu diễn nội dung của tài liệu. Nội dung của mỗi trang tìm
kiếm được, sau đó sẽ được phân tích để lập chỉ mục cho nó theo tiêu chí mà hệ
thống đã xây dựng (ví dụ, các từ được lấy ra từ các chức danh, tiêu đề, hoặc lĩnh

9
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

vực đặc biệt gọi là meta tags). Mục đích của việc đánh chỉ mục là phục vụ cho việc
tìm được thông tin cần quan tâm càng nhanh càng tốt.
1.1.2.3. Searching (Tìm kiếm)
Khi người dùng nhập một truy vấn vào một công cụ tìm kiếm (thường bằng

cách sử dụng các từ khóa - keyword), máy tìm kiếm sẽ sử dụng hệ thống chỉ mục để
có thể tìm kiếm nhanh chóng và trả về một danh mục của các trang Web có chứa từ
khóa mà nó tìm được tốt nhất theo tiêu chí của nó, thông thường là một bản tóm tắt
ngắn có chứa tài liệu là tiêu đề của vấn đề cần truy vấn và đôi khi có cả một số phần
trong nội dung của tài liệu.
Các công cụ tìm kiếm chính là giao diện Web tương tác với người dùng của
các máy tìm kiếm. Có thể kể đến một số công cụ tìm kiếm phổ biến sau:
• Google Search

• Ask Search

• Yahoo Search

• Altavista

• Live Search của Microsofts
1.1.3. Các vấn đề cần phải giải quyết đối với hệ thống tìm kiếm
Một hệ thống tìm kiếm, cần phải tập trung giải quyết tốt các vấn đề sau:
• Đảm bảo cho quá trình crawling có thể đến được mọi tài liệu trên internet càng
nhiều càng tốt.
• Tổ chức tốt hệ thống crawler phân tán.
• Tối ưu hóa lưu trữ các dữ liệu đã được tải về trên một số lượng máy chủ có hạn.
• Đảm bảo phục vụ cùng một lúc hàng triệu người.
• Biện pháp phân hoạch, loại bỏ các tài liệu tương tự nhau ra khỏi hệ thống máy
chủ khi mà số lượng tài liệu được quản lý ngày một nhiều.
1.2. Một số cách đánh giá chất lượng crawler
Trong một ý nghĩa chung [11], một crawler, đặc biệt là một crawler theo chủ đề có
thể được đánh giá trên khả năng của nó để lấy lại được các trang(11) "tốt/ quan trọng". Một
số biện pháp để đánh giá một trang là "tốt/ quan trọng":


(11)

Trong luận văn này khái niệm "trang" và "trang web" được hiểu như nhau.

10
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

1:. Các từ khóa trong tài liệu: Một trang được xem là quan trọng nếu nó chứa đựng
một vài hoặc tất cả các từ khóa trong câu truy vấn. Ngoài ra, tần suất mà từ khóa
xuất hiện trên trang cũng có thể được xem xét.
2:. Độ tương tự với một câu truy vấn: Độ tương tự giữa sự mô tả dài hoặc ngắn và
một trang được crawler có thể được sử dụng để đánh giá sự quan trọng của trang là
thích hợp.
3:. Độ tương tự với các trang hạt giống: Các trang hạt giống được kết hợp với nhau
thành một tài liệu duy nhất và độ tương tự cosine của tài liệu này với một trang đã
được crawler, được sử dụng để xác định mức độ liên quan của trang với tài liệu.
4:. Điểm của lớp: Một lớp được huấn luyện sau đó sẽ liên tục cung cấp luận lý
(Boolean) hoặc cung cấp điểm liên quan cho các trang web đã được crawler.
5:. Thứ hạng của hệ thống sau khi cập nhật (Retrieval system rank): N các crawler
khác nhau được bắt đầu từ một vài trang hạt giống và cho phép để chạy cho đến khi
mỗi crawler tập hợp được P trang. Tất cả N .P trang được tập hợp từ các crawler
được xếp hạng lại với truy vấn ban đầu hoặc bằng cách mô tả một hệ thống sau khi
cập nhật cho một trang như việc phân tích hệ thống và phục hồi của văn bản. Thứ
hạng được cung cấp bởi hệ thống sau khi được cập nhật cho một trang web được
xem như là điểm để xác định mức độ quan trọng của nó.
1.3. Hệ thống tìm kiếm theo lĩnh vực chuyên sâu
1.3.1. Tại sao phải xây dựng hệ thống tìm kiếm theo lĩnh vực chuyên sâu

Lý do cơ bản khiến cho các hệ thống tìm kiếm tổng quát hiện nay có kết quả trả
về không phải lúc nào cũng thỏa mãn yêu cầu tìm kiếm của người sử dụng. Nguyên
nhân là do các hệ thống tìm kiếm tổng quát rất "tham lam", mong muốn tập hợp được
càng nhiều tài liệu càng tốt, và sự tập hợp này không được định hướng bởi những mục
đích rõ ràng. Nhược điểm cơ bản này của các hệ thống tìm kiếm tổng quát đã gây ra
không ít khó khăn cho người sử dụng trong việc tìm kiếm chính xác thông tin mình
cần. Hơn nữa việc đầu tư kinh phí để xây dựng và duy trì hệ thống tìm kiếm tổng quát
cũng rất lớn, không phải bất kỳ cơ quan, tổ chức nào muốn là cũng có được.
Hệ thống tìm kiếm theo lĩnh vực chuyên sâu (để cho tiện ta tạm gọi là theo chủ
đề/ chuyên mục) là một loại hệ thống tìm kiếm được xây dựng cho việc tìm kiếm
11
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

thông tin trong một lĩnh vực cụ thể. Khi người dùng muốn tìm kiếm thì hệ thống tìm
kiếm theo chủ đề sẽ chỉ tập trung vào chủ đề đó, trả về ít kết quả hơn đồng nghĩa với
tăng khả năng chính xác và giảm thiểu khả năng gây nhập nhằng. Ví dụ: Một nha sĩ
khi tìm vật liệu làm răng giả bằng gốm sứ sẽ gõ từ “ceramics” và nhận được từ Google
rất nhiều kết quả về vật liệu xây dựng. Nhưng nếu có một máy tìm kiếm cho chuyên
ngành y học chẳng hạn thì kết quả có lẽ sẽ phù hợp hơn với vị nha sĩ kia ( Hình 1.2).

Hình 1.2: Minh họa cho hiệu quả của hệ thống tìm kiếm theo lĩnh vực chuyên sâu.
Hình 1.2 cho thấy: Cùng với một từ "ceramics", thì Google.com.vn trả về
cho ta 34.800.000 kết quả còn với search.dentalproductsreport.com thì trả về cho ta
272 kết quả.(12)
Tính khả thi của hệ thống tìm kiếm thông tin theo lĩnh vực chuyên sâu còn được
đảm bảo bởi với một sự đầu tư cần thiết chấp nhận được, cùng với hy vọng sẽ phục tốt
cho từng loại đối tượng người dùng cụ thể. Ví dụ: Một nhà sử học khi thực hiện tìm

kiếm qua từ khóa "Hà Nội 36 phố phường" sẽ có kết quả trả về khác hẳn với một

người tìm đường đi khi thực hiện việc tìm kiếm cùng với từ khóa đó.
(12 )

Dữ liệu minh họa được thực hiện lúc 14 giờ ngày 12-6-2010.

12
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

1.3.2. Nguyên lý và kiến trúc của hệ thống tìm kiếm theo lĩnh vực chuyên sâu
1.3.2.1. Nguyên lý
Nguyên lý của hệ thống tìm kiếm theo lĩnh vực chuyên sâu về cơ bản cũng
giống như hệ thống tìm kiếm tổng quát. Chỉ khác ở chỗ thay vì tải toàn bộ (hoặc phần
lớn) các tài liệu hiện có trên internet thì nay chỉ thực hiện tải toàn bộ (hoặc phần lớn)
các tài liệu hiện có trên internet thuộc một hoặc một vài lĩnh vực hẹp đã được xác định
trước về hệ thống máy chủ. Rồi cũng lập chỉ mục, sắp xếp, và tiến hành tìm kiếm trên
hệ thống đã sắp xếp.
1.3.2.2. Kiến trúc chung
Do mạng internet được tạo thành gồm các trang web và các đường link nên ta
có thể mô hình hóa mạng internet dưới dạng đồ thị (Hình 1.3). Crawler khi hoạt động
cũng giống như việc duyệt đồ thị.

a) Breadth-first crawler.

b) Focused crawler.


c) Intelligent crawler.

Hình 1.3: Minh họa hoạt động của các loại crawler trên một đồ thị link.
Trong Hình 1.3: Mũi tên biểu thị các đường link; nút màu đen biểu thị các trang
web đã được duyệt; nút gạch chéo biểu thị các tài liệu đúng chủ đề và nút mầu trắng
biểu thị các trang web bị bỏ qua trong quá trình crawler. Ở đây:
a) Nếu như Breadth-first crawler, khi thực hiện sẽ thực hiện hệ thống sẽ duyệt
từng tầng một cách lần lượt và không bỏ qua bất kỳ nút nào;
b) Hay Focused crawler lúc đầu khi thực hiện cũng giống như Breadth-first
crawler, đến khi phải lựa chọn giữa link mang tài liệu và link không mang tài liệu, thì
focused crawler sẽ bỏ qua những link không trỏ tới tài liệu, cho dù sau đó rất có thể
vẫn có link mang tài liệu mà ta cần;
13
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

c) Còn Intelligent crawler của chúng ta (crawler ứng dụng học tăng cường) với
hy vọng sẽ dự đoán được các link nằm trong đường dẫn tới tài liệu và bỏ qua các link
không có tiền năng ở thời điểm sớm nhất có thể.
Vì thế, khi xây dựng hệ thống tìm kiếm theo lĩnh vực chuyên sâu chúng ta cần
quan tâm đến việc xây dựng một bộ crawler theo chiều rộng hay một bộ crawler thông
minh. Hiện có hai hướng tiếp cận cơ bản để xây dựng hệ thống tìm kiếm theo lĩnh vực
chuyên sâu là:
• Một là lấy hết dữ liệu về rồi lọc ra dữ liệu đúng.
• Hai là chọn lựa tài liệu ngay trong quá trình lấy dữ liệu từ Internet.
Cách tiếp cận thứ nhất phải có tài nguyên tính toán và băng thông cực lớn. Hơn
nữa, xu hướng ngày nay là tìm kiếm trực tuyến, đòi hỏi các kết quả tìm kiếm phải cập
nhật mới nhất do vậy hướng tiếp cận này không khả thi. Cách tiếp cận thứ hai sẽ loại

bỏ được rất nhiều tài liệu dư thừa trong quá trình thu thập, tiết kiệm được tài nguyên
tính toán nên sẽ có chu kỳ thu thập dữ liệu ngắn hơn đồng nghĩa tiếp cận được tài liệu
mới nhanh hơn.
Một khó khăn lớn nhất của hệ thống tìm kiếm theo lĩnh vực chuyên sâu là bộ
crawler phải ước tính được những đường link nào có tiềm năng dẫn đến tài liệu mà ta
quan tâm. Để giải quyết vấn đề này, chúng tôi tiếp tục lựa chọn hướng đề xuất của
McCallum [1] là xây dựng một bộ Crawler thông minh áp dụng kỹ thuật học máy,
bằng cách ứng dụng lý thuyết học tăng cường dựa trên các giá trị điểm thưởng
(reward) hoặc điểm phạt (punishment). Tức là, từ bộ dữ liệu mẫu ban đầu ta phải ước
tính được các điểm thưởng trong tương lai nhằm ước lượng được các đường link chứa
các tài liệu mà ta cần quan tâm từ vị trí nhìn tại link hiện tại (điều này sẽ được trình
bày rõ hơn trong chương II), trong đó đặc biệt quan tâm tới các tài liệu tiếng Việt.
Hình 1.4 là một hướng đề xuất cho kiết trúc tổng thể của một hệ thống tìm kiếm
theo lĩnh vực chuyên sâu của nhóm tìm hiểu về Search Engine năm 2010 (gọi tắt là
nhóm SE2010)(13). Trong kiến trúc này:
(13)

Nhóm tìm hiểu về Search Engine năm 2010 do Tiến sĩ Trần Đức Khách - Viện Công nghệ thông tin và
Truyền thông - trường Đại học Bách khoa Hà Nội, hướng dẫn gồm 9 thành viên: Vũ Đình Thi + Lê Đại
Dương + Nguyễn Trọng Nhân, lớp INPG04; Nguyễn Ngọc Đức + Nguyễn Trọng Tấn, lớp HTTT K50; Nhữ
Đình Tạo, lớp Tin Pháp K50; Bùi Anh Đức, lớp AS1-Việt Nhật; Trần Bình Thành, lớp cao học CNTT 20082010, của trường Đại học Bách khoa Hà Nội.

14
Machine Learning Techniques for Domain specific Search Engine


Ứng dụng kỹ thuật học máy trong công cụ tìm kiếm thông tin theo lĩnh vực chuyên sâu

Bắt đầu một crawler, các dữ liệu đầu vào được đưa vào lớp thu thập tin tức
(intelligence). Trong lớp thu thập tin tức các đầu vào có thể được sử dụng để đại diện

phù hợp cho nhu cầu thông tin mong muốn, chủ đề, hoặc đề tài cho crawler cần tìm
nạp (fetch) các trang web. Dữ liệu đầu vào có thể đơn giản như là một tập từ khóa
hoặc có thể được chuyển đổi thành một vector các trọng số trong đó mỗi trọng số đại
diện cho tầm quan trọng tương đối của từ. Nếu đầu vào là một tập của các trang mà đại
diện cho các mẫu đúng và mẫu sai của một chủ đề, nó có thể được sử dụng để huấn
luyện một lớp (classifier).
Bộ VNTOKENIZER có nhiệm vụ tách từ tiếng Việt.
Việc loại bỏ các từ dừng/từ tầm thường (stopword) trong nội dung của trang và
đưa về dạng gốc của từ (stemming) đối với tài liệu là tiếng Anh; cũng như để nhận dạng
các trang đúng chủ đề và giúp cho hệ thống có thể xác định được khoảng cách từ trang
hiện thời đến trang web cần quan tâm dựa trên nội dung của trang đó chúng tôi sử dụng
bộ phân loại văn bản bằng phương pháp vector hỗ trợ (SVM).
Một trang khi được tìm và tải về (fetched), nó có thể được lưu trữ/ lập chỉ mục
bởi bộ Index để phục vụ cho các ứng dụng tổng thể sau này. Trong bộ lập chỉ mục
chúng tôi có ý tưởng sẽ dùng thêm bộ xếp hạng chỉ mục AIR để phát hiện và chống lại
các kỹ thuật spamming và tính thứ hạng cho các trang web được tốt hơn.
Bộ Searcher có nhiệm vụ phân tích câu truy vấn của người dùng và trả về kết quả
tìm kiếm của hệ thống. Để đáp ứng cho nhu cầu tìm kiếm các thông tin của người dùng
ngôn ngữ tiếng Việt, chúng tôi sử dụng thêm bộ khôi phục dấu tiếng Việt.
Trong khuôn khổ luận văn này, chúng tôi tập trung tìm hiểu các vấn đề cơ bản
nhất có liên quan đến việc xây dựng công cụ thu thập thông tin theo lĩnh vực chuyên
sâu gồm: Bộ Crawler, bộ phân loại văn bản và bộ tách từ tiếng Việt trong hệ thống
tìm kiếm thông tin theo lĩnh vực chuyên sâu mà chúng tôi đã đề xuất; thực hiện cài
đặt thử nghiệm công cụ đã xây dựng trên bộ mã nguồn mở Nutch.

15
Machine Learning Techniques for Domain specific Search Engine



×