Ứng dỤng thuẬt toÁn map reduce xÂy dỰng tỆp chỈ...

25
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ MỤC CHO HỆ THỐNG TÌM KIẾM Chuyên ngành : Khoa học máy tính Mã số : 60.48.01 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2014

Upload: others

Post on 23-Sep-2019

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

BỘ GIÁO DỤC VÀ ĐÀO TẠO

ĐẠI HỌC ĐÀ NẴNG

HUỲNH THẢO PHÚC

ỨNG DỤNG THUẬT TOÁN MAP REDUCE

XÂY DỰNG TỆP CHỈ MỤC CHO

HỆ THỐNG TÌM KIẾM

Chuyên ngành : Khoa học máy tính

Mã số : 60.48.01

TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT

Đà Nẵng - Năm 2014

Page 2: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

Công trình được hoàn thành tại

ĐẠI HỌC ĐÀ NẴNG

Người hướng dẫn khoa học: TS. Huỳnh Công Pháp

Phản biện 1: PGS.TS. Lê Văn Sơn

Phản biện 2: TS. Nguyễn Quang Thanh

Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt

nghiệp thạc sĩ kỹ thuật họp tại Đại học Đà Nẵng vào ngày 28

tháng 6 năm 2014

Có thể tìm hiểu luận văn tại :

- Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng

Page 3: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

1

MỞ ĐẦU

1. Lý do chọn đề tài

Cùng với sự phát triển của CNTT, số lượng các tài liệu điện tử

(các tệp tài liệu, công văn, các log dữ liệu cần lưu trữ,…) của các tổ

chức, doanh nghiệp gia tăng từng ngày. Trong khi đó, nhu cầu khai

thác trong kho tài liệu khổng lồ này để tìm kiếm những thông tin cần

thiết đang là nhu cầu thường ngày và thiết thực của người sử dụng.

Tuy nhiên, một trong những khó khăn con người gặp phải trong việc

khai thác thông tin là khả năng tìm chính xác thông tin họ cần trong

kho tài liệu. Để trợ giúp công việc này, các hệ thống tìm kiếm đã lần

lượt được phát triển nhằm phục vụ cho nhu cầu tìm kiếm của người

sử dụng.

Những hệ thống tìm kiếm bắt đầu phát triển và đưa vào ứng

dụng, phổ biến là các hệ thống tìm kiếm theo từ khóa. Nhiều hệ

thống hoạt động hiệu quả trên Internet như Google, Bing, Yahoo!…

Tuy nhiên, phần lớn các công cụ tìm kiếm này chỉ giúp người dùng

tìm kiếm các tài liệu điện tử mang tính chất phổ biến rộng rãi, không

thể giúp người dùng tìm kiếm các tài liệu nội bộ mang tính bảo mật

trong doanh nghiệp. Hoặc các hệ thống tìm kiếm trên máy cá nhân

như Windows Search, Google Desktop… đã đáp ứng phần nào nhu

cầu của người sử dụng trong việc tìm kiếm tài liệu nội bộ mang tính

bảo mật, tuy nhiên cũng chỉ đáp ứng được trên phạm vi nhỏ, không

thể xử lý các dữ liệu phân tán, thời gian tìm kiếm lâu (vì các tài liệu

không được đánh chỉ mục và chỉ bắt đầu tìm kiếm trong từng tài liệu

khi người dùng sử dụng chức năng tìm kiếm).

Điều này dẫn tới một số tổ chức/ doanh nghiệp phải tự mình

xây dựng hệ thống tìm kiếm nội bộ. Tuy nhiên, các giải pháp tìm

Page 4: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

2

kiếm thông tin hiện nay vẫn còn gặp phải một số hạn chế sau :

(i) Việc lập chỉ mục chủ yếu dựa trên các từ khóa là các từ đơn

mà chưa quan tâm đến từ khóa là các từ, cụm từ, hoặc tập hợp các từ

có nghĩa. Việc so khớp đơn thuần trên từ khóa là từ đơn có thể trả về

những tài liệu không phù hợp với nhu cầu thông tin của người dùng.

Ví dụ tìm kiếm từ “cao học” nhưng đa số kết quả trả về cho các tài

liệu chứa riêng biệt từ “cao” và “học”

(ii) Một thách thức lớn là các kho tài liệu điện tử hiện nay có

thể được lưu trữ phân tán (tùy vào bối cảnh và cách tổ chức lưu trữ

dữ liệu của các tổ chức/doanh nghiệp), điều này khiến cho việc lập

chỉ mục đồng bộ các tài liệu rất khó khăn.

(iii) Khi người dùng tìm kiếm thông tin, họ thường rất quan

tâm đến việc kết quả tìm kiếm trả về những kết quả có thực, nghĩa là

kết quả trả về không phải là những dữ liệu đã không còn tồn tại hoặc

dữ liệu mới chưa được cập nhật (do việc lập chỉ mục xử lý với mật

độ thời gian dài hoặc thời gian tiêu tốn cho việc lập chỉ mục quá lâu).

Các giải pháp tìm kiếm thông tin hiện có chưa đáp ứng được nhu cầu

này nếu xử lý dữ liệu lên đến mức dung lượng Terabyte.

Từ đó mở ra hướng nghiên cứu để xây dựng một mô hình lập

chỉ mục mới nhằm khắc phục các hạn chế trên và giúp tìm kiếm

thông tin hiệu quả hơn. Với lý do như vậy, tác giả xin đề xuất đề tài:

“Ứng dụng thuật toán Map Reduce xây dựng tệp chỉ mục

cho hệ thống tìm kiếm”

2. Mục tiêu nghiên cứu

a) Mục tiêu

- Mục tiêu là nghiên cứu phương pháp lập chỉ mục mới tạo ra

tệp chỉ mục tìm kiếm Tiếng Việt nhằm nâng cao hiệu suất, tốc độ

cũng như đảm bảo tính chính xác của kết quả tìm kiếm và áp dụng

Page 5: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

3

vào thực tế như thế nào.

b) Nhiệm vụ nghiên cứu

- Tìm hiểu Hadoop/ Map Reduce

- Hướng tới việc xây dựng ứng dụng Map Reduce và kho từ

điển Tiếng Việt để xây dựng một hệ thống phần mềm có khả năng

xây dựng tệp chỉ mục tìm kiếm Tiếng Việt.

- Thử nghiệm, đánh giá hệ thống tạo tệp chỉ mục tìm kiếm

tiếng Việt (tốc độ thực hiện, hổ trợ phân tán, khả năng phân tích từ,

cụm từ Tiếng Việt).

3. Đối tƣợng và phạm vi nghiên cứu

a) Đối tượng nghiên cứu

- Hadoop/ Map Reduce

- Phương pháp tạo tệp chỉ mục tìm kiếm

b) Phạm vi nghiên cứu

- Ứng dụng trong phạm vi các tài liệu cơ bản: txt, doc,…

- Tệp chỉ mục trên ngôn ngữ Tiếng Việt.

4. Phƣơng pháp nghiên cứu

a) Phương pháp nghiên cứu lý thuyết

- Tìm hiểu Hadoop/ Map Reduce

- Tìm hiểu về tệp chỉ mục tìm kiếm

- Tìm hiểu về khả năng tích hợp tạo chỉ mục và kho từ điển từ,

cụm từ Tiếng Việt

b) Phương pháp nghiên cứu thực nghiệm

- Xây dựng một ứng dụng tạo tệp chỉ mục tìm kiếm Tiếng Việt

từ kho tài liệu.

5. Bố cục đề tài

Mở đầu.

Chương 1 : Tổng quan về hệ thống tìm kiếm.

Page 6: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

4

Chương 2 : Nền tảng tính toán phân tán Hadoop - MapReduce.

Chương 3 : Tách từ tự động và lập chỉ mục.

Chương 4: Thực nghiệm ứng dụng Map Reduce lập chỉ mục

tìm kiếm.

Kết luận.

6. Ý nghĩa khoa học và thực tiễn của đề tài

c) Ý nghĩa khoa học

- Tổng hợp, trình bày, phân tích những vấn đề liên quan đến

việc xây dựng tệp chỉ mục, nhằm nâng cao chất lượng của các kết

quả tìm kiếm từ công cụ tìm kiếm.

d) Ý nghĩa thực tiễn

-

chỉ mục phục vụ tìm kiếm từ các kho

.

Page 7: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

5

CHƢƠNG 1.

TỔNG QUAN VỀ HỆ THỐNG TÌM KIẾM

1.1. GIỚI THIỆU VỀ TÌM KIẾM THÔNG TIN

1.1.1. Khái niệm về tìm kiếm thông tin

Tìm kiếm thông tin là tìm kiếm trong một tập tài liệu để lấy ra

các thông tin mà người tìm kiếm quan tâm

1.1.2. Một số vấn đề trong việc tìm kiếm thông

1.2. GIỚI THIỆU HỆ THỐNG TÌM KIẾM

1.2.1. Kiến trúc hệ thống tìm kiếm

1.2.2. Các thành phần của hệ thống tìm kiếm

1.2.3. Nguyên lý hoạt động

1.3. ỨNG MỘT SỐ MÔ HÌNH ĐỂ XÂY DỰNG MỘT HỆ

THỐNG TÌM KIẾM THÔNG

1.3.1. Mô hình không gian vector

1.3.2. Tìm kiếm Boolean

1.3.3. Tìm kiếm Boolean mở rộng

1.3.4. Mở rộng trong việc thêm vào trọng số của câu hỏi

1.3.5. Mô hình xác suất

1.3.6. Đánh giá chung về các mô hình

1.4. CÁC BƢỚC ĐỂ XÂY DỰNG MỘT HỆ THỐNG TÌM

KIẾM

1.4.1. Tách từ tự động cho tập các tài liệu

1.4.2. Lập chỉ mục cho tài liệu

1.4.3. Tìm kiếm

1.4.4. Sắp xếp các tài liệu trả về (Ranking)

Page 8: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

6

1.5. MỘT SỐ HỆ THỐNG TÌM KIẾM THÔNG TIN ĐIỂN

HÌNH

1.5.1. Công cụ tìm kiếm Google

1.5.2. AltaVista

1.5.3. GoogleDesktop

1.5.4. DTSearch

1.5.5. Thƣ viện hỗ trợ tìm kiếm văn bản Lucene

1.6. NHỮNG KHÓ KHĂN TRONG XÂY DỰNG HỆ THỐNG

TÌM KIẾM HIỆN NAY

1.6.1. Hạn chế trong quá trình lập chỉ mục

- Việc lập chỉ mục chủ yếu dựa trên các từ khóa là các từ đơn

mà chưa quan tâm đến từ khóa là các từ, cụm từ, hoặc tập hợp từ có

nghĩa. Việc so khớp đơn thuần trên từ khóa là từ đơn, và điều này

dẫn đến có thể trả về những tài liệu không phù hợp với nhu cầu

thông tin của người dùng. Ví dụ tìm kiếm từ “cao học” nhưng đa số

kết quả trả về cho các tài liệu chứa riêng biệt từ “cao” và “học”.

1.6.2. Hạn chế khi xử lý dữ liệu phân tán

- Với tốc độ phát triển của việc ứng dụng CNTT hiện nay của

các doanh nghiệp/ tập đoàn, thì việc lưu trữ dữ liệu từ các tài liệu,

văn bản, thư điện tử, dữ liệu log của các thiết bị,…. là rất lớn, và sẽ

vấp phải nhiều khó khăn khi phải lưu trữ một khối dữ liệu rất lớn như

vậy lên một máy chủ duy nhất bởi hai lý do. Thứ nhất, đó là sự giới

hạn về khả năng lưu trữ của ổ cứng của máy chủ. Thứ hai, cho dù

vượt qua được giới hạn về dung lượng, thì việc truy xuất một khối

lượng dữ liệu đồ sộ như vậy một cách tuần tự trên một máy chủ sẽ

rất mất thời gian vì giới hạn về truy xuất bộ nhớ và tốc độ đọc đĩa.

Do vậy, bắt buộc chúng ta phải lưu trữ dữ liệu lên trên nhiều hệ

thống máy chủ khác nhau.

Page 9: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

7

Có thể khẳng định rằng, việc lưu trữ dữ liệu phân tán lên nhiều

máy chủ mang lại lợi thế về khả năng lưu trữ và tốc độ truy xuất dữ

liệu. Tuy nhiên, để hệ thống tìm kiếm có thể làm việc với những dữ

liệu phân tán như vậy, chúng ta phải đối mặt với xử lý lập chỉ mục

cho các tài liệu phân tán trên nhiều máy chủ khác nhau, điều này

khiến cho việc lập chỉ mục đồng bộ các tài liệu gặp rất nhiều khó

khăn.

1.6.3. Hạn chế tìm kiếm thông tin mới nhất

- Một hạn chế khác về thời gian đáp ứng thời gian thực cho kết

quả tìm. Khi người dùng tìm kiếm thông tin, họ thường rất quan tâm

đến việc kết quả tìm kiếm trả về những kết quả có thực, nghĩa là kết

quả trả về phải không bao gồm các tài liệu đã không còn tồn tại hoặc

dữ liệu mới chưa được cập nhật (do việc lập chỉ mục xử lý với mật

độ thời gian dài hoặc thời gian tiêu tốn cho việc lập chỉ mục quá lâu).

Các giải pháp tìm kiếm thông tin hiện có chưa đáp ứng được nhu cầu

này nếu xử lý dữ liệu lên đến mức dung lượng Terabyte.

1.7. KẾT LUẬN CHƢƠNG 1

Chương này đã trình bày khái niệm tổng thể về hệ thống tìm

kiếm thông tin, bao gồm các khái niệm về kiến trúc hệ thống, thành

phần và nguyên lý hoạt động, cũng như giới thiệu cách thức để xây

dựng một hệ thống tìm kiếm. Đồng thời chỉ ra những khó khăn trong

việc xây dựng hệ thống tìm kiếm hiện nay đối với việc lập chỉ mục

các tài liệu. Trong chương 2, sẽ giới thiệu và đề cập chi tiết về nền

tảng tính toán phân tán Hadoop – MapReduce, một nền tảng sẽ giúp

cho chúng ta có thể vận dụng để việc giải quyết những khó khăn

trong việc lập chỉ mục khi xây dựng một hệ thống tìm kiếm.

Page 10: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

8

CHƢƠNG 2.

NỀN TẢNG TÍNH TOÁN PHÂN TÁN HADOOP

MAP REDUCE

2.1. GIỚI THIỆU NỀN TẢNG HADOOP

2.1.1. Hadoop là gì?

Apache Hadoop hay Hadoop là một software framework hỗ

trợ các ứng dụng phân tán dữ liệu chuyên sâu theo một giấy phép

miễn phí. Nó cho phép các ứng dụng làm việc với hàng ngàn máy

tính tính toán độc lập và petabyte dữ liệu. Hadoop được bắt nguồn từ

các bài báo MapReduce của Google và Google File System (GFS).

Hadoop là một trong những dự án hàng đầu của Apache, được

xây dựng và được sử dụng bởi một cộng đồng những người đóng góp

toàn cầu, viết bằng ngôn ngữ lập trình Java. Yahoo! đã đóng góp lớn

nhất cho dự án, và Hadoop được sử dụng rộng rãi trên khắp các

doanh nghiệp của nó

2.1.2. Lịch sử Hadoop

2.1.3. Các thành phần của Hadoop

2.1.4. Ứng dụng của Hadoop trong một số công ty

2.1.5. Tổng quan của một Hadoop cluster

2.2. HADOOP DISTRIBUTED FILE SYSTEM (HDFS)

2.2.1. Giới thiệu

2.2.2. Kiến trúc HDFS

2.3. MAP REDUCE

2.3.1. Giới thiệu mô hình tính toán MapReduce

Năm 2004, Google công bố nền tảng MapReduce (thực ra có

thể coi MapReduce là một mô hình lập trình, hay một thuật giải).

MapReduce là giải pháp được các kỹ sư của Google tìm ra khi họ

Page 11: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

9

đang cố gắng mở rộng bộ máy tìm kiếm của mình. Có thể hiểu một

cách đơn giản, MapReduce chia việc xử lý thành nhiều khối công

việc nhỏ, phân tán khắp các nút tính toán (tiêu biểu là các server

thông thường), rồi thu thập các kết quả.

Hệ t

hố

ng p

n t

án

map()

map()

map()

reduce()

reduce()

Hệ t

hố

ng p

n t

án

map()

map()

map()

reduce()

reduce()

Hệ t

hố

ng p

n t

án

Hình 1. Mô hình Map Reduce thực thi

Sau khi ra đời, Map Reduce nhanh chóng trở thành một đối

tượng nghiên cứu và áp dụng của các doanh nghiệp cần xử lý khối

lượng dữ liệu lớn với hai lý do sau:

- Map Reduce có thể chạy trên các phần cứng thông thường,

không đòi hỏi các máy chủ chạy Map Reduce phải là các máy tính có

khả năng tính toán, lưu trữ và truy xuất mạnh mẽ. Do vậy, chi phí

triển khai Map Reduce sẽ rẻ hơn.

- Thứ hai, Map Reduce hổ trợ các giải thuật tính toán phân tán.

Vì thế các nhà phát triển ứng dụng phân tán có thể tập trung nhiều

hơn cho phần logic của ứng dụng, bỏ qua các chi tiết phức tạp của

việc phân tán xử lý.

Trước Map Reduce, các doanh nghiệp muốn xử lý hàng

petabyte (triệu gigabyte) dữ liệu để tìm mối quan hệ liên quan đến

Page 12: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

10

nghiệp vụ phải rất cân nhắc khi đầu tư cho việc đầy mạo hiểm này vì

chi phí và thời gian cần thiết là trở ngại. Sự ra đời của Map Reduce

đã mở ra cho các doanh nghiệp cơ hội xử lý các nguồn dữ liệu đồ sộ

với chi phí thấp và thời gian nhanh hơn.

Năm 2009 dự án mã nguồn mở Hadoop của Apache đã lập kỷ

lục thế giới về sắp xếp khối dữ liệu siêu lớn (sắp xếp một petabyte dữ

liệu trong 16,25 giờ và một terabyte trong 62 giây). Map Reduce là

giải pháp tốt cho các dạng bài toán xử lý khối lượng dữ liệu phát sinh

khổng lồ với các tác vụ phân tích và tính toán phức tạp và không

lường trước được, trong các lĩnh vực như khai khác dữ liệu (data

mining), phân tích tài chính, mô phỏng,… Ngoài Google, các hãng

Yahoo, Facebook, …cũng đều đã sử dụng Map Reduce để xử lý dữ

liệu.

Hiện nay đã có một số mô hình Map Reduce trên các ngôn

ngữ Java, C++, Python, Perl, Ruby và C. Lập trình viên có thể lựa

chọn ngôn ngữ và thư viện Map Reduce để xây dựng ứng dụng của

mình.

2.3.2. Hadoop MapReduce Engine

2.4. KẾT LUẬN CHƢƠNG 2

Chương này đã trình bày về lý thuyết nền tảng tính toán phân

tán Hadoop – Map Reduce. Trong đó hai khái niệm HDFS và mô

hình tính toán Map Reduce là hai khái niệm rất quan trọng trong

Hadoop. Trong chương tiếp theo, tác giả xin trình bày về việc tách từ

Tiếng Việt và việc lập chỉ mục cho hệ thống tìm kiếm.

Page 13: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

11

CHƢƠNG 3.

THỰC NGHIỆM ỨNG DỤNG MAP-REDUCE LẬP CHỈ MỤC

TÌM KIẾM

3.1. TÁCH TỪ TỰ ĐỘNG

3.1.1. Tách từ trong Tiếng Việt

Trước khi lập chỉ mục là giai đoạn tách từ cho các tài liệu, đây

là công việc quan trọng trong một hệ thống tìm kiếm thông tin. Đối

với tiếng Anh chỉ đơn giản dựa vào khoảng trắng để tách từ. Nhưng

đối với tiếng Việt không thể dựa vào khoảng trắng được vì tiếng Việt

là ngôn ngữ đơn lập.

Hiện nay, có rất nhiều phương pháp được đề xuất để tách từ

cho tiếng Việt, nhưng vẫn chưa thống nhất là phương pháp nào tốt

nhất. Trong đề tài này, chỉ tập trung vào việc ứng dụng phương pháp

so khớp từ dài nhất (Longest Matching) để tách từ.

3.1.2. Phƣơng pháp so khớp dài nhất Longest Matching

3.1.3. Bộ từ điển đƣợc dùng cho việc tách từ Tiếng Việt

3.2. LẬP CHỈ MỤC

3.2.1. Giới thiệu

Trong một hệ thống tìm kiếm, khi người sử dụng vào một câu

truy vấn tìm kiếm, thì hệ thống sẽ không trả về thông tin hay trả lời

câu hỏi một cách tương minh. Mà thay vào đó, nó thông báo về sự

tồn tại và vị trí của những tài liệu có thể chứa thông tin mong muốn.

Bài toán đặt ra ở đây là phải biểu diễn tập các tài liệu như thế

nào để hệ thống tìm kiếm có thể truy vấn sự tồn tại và vị trí của

những tài liệu liên quan đến thông tin cần tìm một cách nhanh chóng

trên những nguồn dữ liệu rất lớn. Và đây được gọi là quá trình xử lý

đánh chỉ mục để tạo ra các tệp chỉ mục tìm kiếm

Page 14: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

12

3.2.2. Cấu trúc cơ bản của tệp chỉ mục

Sự truy vấn dựa vào từ mục (tìm kiếm các tài liệu có chứa các

từ khóa) là một phương pháp phổ biến hiện nay để xác định các tài

liệu có liên quan đến truy vấn. Để thực hiện được điều này, chúng ta

sử dụng bộ chỉ mục liên kết ngược (Inverted Index) để biểu diễn các

tài liệu. Cụ thể hơn, bộ chỉ mục liên kết ngược là một cấu trúc dữ

liệu, nhằm mục đích ánh xạ giữa từ mục, và tên các tài liệu chứa từ

mục đó

Xem ví dụ cụ thể dưới đây, chúng ta có 3 tài liệu D1, D2, D3

D1 = "Đây là tài liệu thứ nhất"

D2 = "Đây là tài liệu thứ hai"

D3 = "thứ ba"

Bộ chỉ mục liên kết ngược của 3 tài liệu đó sẽ được lưu dưới

dạng như sau:

"Đây" => {D1, D2}

"là" => {D1, D2}

"tài" => {D1, D2}

"liệu" => {D1, D2}

"thứ" => {D1, D2, D3}

"nhất" => {D1}

"hai" => {D2}

"ba" => {D3}

Từ ví dụ trên chúng ta có thể hình dung được về thế nào là bộ

chỉ mục liên kết ngược. Vậy việc tạo chỉ mục theo từ mục như trên

có lợi thế nào? Việc đầu tiên là bộ chỉ mục liên kết ngược giúp cho

việc tìm kiếm trở nên nhanh hơn bao giờ hết. Hãy giả sử bạn muốn

truy vấn cụm từ “thứ hai”, thì thay vì việc phải quét từng tài liêu

một, chúng ta chuyển sang bài toán giải quyết giao của 2 tập hợp của

Page 15: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

13

2 từ đó trong bộ chỉ mục liên kết ngược.

Ta có: "thứ" { D1, D2, D3} ∩ "hai" {D2} = {D2} => kết quả:

“thứ hai” sẽ được tìm thấy ở trong tài liệu D2

3.2.3. Cấu trúc chỉ mục hổ trợ đánh giá mức độ quan

trọng

Những kết quả trả về của hệ thống tìm kiếm thường được dựa

trên thông tin lấy từ bộ chỉ mục liên kết ngược. Tuy nhiên, các kết

quả này về cơ bản là chỉ xác định tập các tài liệu nào có chứa những

từ khóa cần tìm kiếm mà chưa cung cấp được cơ sở nào để xác định

và sắp xếp các tài liệu trả về theo mức độ liên quan với từ khóa. Vì

vậy việc đánh chỉ mục sẽ áp dụng thêm thuật toán TF-IDF để đánh

giá mức độ liên quan của một tài liệu đối với một từ mục nào đó.

TF-IDF là kết hợp của tần số từ khóa (TF: Term Frequency)

và nghịch đảo số văn bản chứa từ khóa (IDF: Inverted Document

Frequency).

- Tần số từ khóa ( TF: Term Frequency) là tần số xuất hiện của

từ khóa đó trong tài liệu. Một cách trực quan thì một từ là quan trọng

cho một tài liệu nếu từ đó xuất hiện nhiều lần trong tài liệu đó.

( , )

( , )max{ ( , ) : }

f t dtf t d

f d d (3.1)

Với: f (t,d) - số lần xuất hiện từ t trong văn bản d.

max { f(w,d):w∈d } - số lần xuất hiện nhiều nhất của

một từ bất kỳ trong văn bản.

- Nghịch đảo số văn bản (IDF: Inverted Document

Frequency): Theo [6] thì IDF là nghịch đảo số văn bản chứa từ khóa.

Không phải tất cả các từ khóa có độ quan trọng như nhau và vì vậy

giá trị trọng số tương ứng với các từ không quan trọng phải nhỏ. Ví

dụ, tần số của các từ chức năng như “và”, “hoặc”, “cũng” thường rất

Page 16: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

14

lớn và sẽ gây nhiễu đến nội dung của tài liệu. IDF tìm cách co lại

trọng số tương ứng với các từ khóa xuất hiện trong nhiều văn bản.

( , ) log{ : }

Didf t D

d D t d (3.2)

Với: |D| - tổng số tài liệu trong tập D

|{d∈D: t∈d}| - số tài liệu chứa từ khóa

Trọng số từ (TF-IDF) là tích của tần suất từ khóa TF và nghịch

đảo số văn bản chứa từ khóa đó và được xác định bằng công thức:

( , , ) ( , ) ( , )tfidf t d D tf t d idf t D (3.3)

TF-IDF là một phương pháp chuẩn thường được sử dụng để

biểu diễn độ quan trọng của từ khóa trong tài liệu. TFIDF của một

cụm từ sẽ giảm nếu như cụm từ đó xuất hiện trong hầu hết các tài

liệu. Vì vậy, một từ xuất hiện quá ít hoặc quá nhiều được đánh giá ít

quan trọng hơn so với các từ xuất hiện cân bằng

3.2.4. Xác định các từ chỉ mục trong tệp chỉ mục

3.3. Các đặc điểm đƣợc cung cấp cho trọng số của từ/ cụm từ

3.4. LẬP TRÌNH VỚI MAP-REDUCE

3.4.1. Giới thiệu

Theo mô hình MapReduce, cơ bản, chúng ta chỉ cần viết hai

chức năng (hoặc hai hàm): ánh xạ và rút gọn. Chức năng ánh xạ sẽ

nhận dữ liệu đầu vào và sinh ra các cặp <khóa, giá trị> trung gian để

được tiếp tục xử lý. Chức năng rút gọn kết hợp tất cả các cặp khóa /

giá trị trung gian, liên kết theo khóa để tạo ra đầu ra cuối cùng.

3.4.2. Cấu hình Hadoop trên nhiều máy chủ Linux

3.4.3. Cấu hình Map Reduce trên Apache Hadoop

Page 17: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

15

3.5. KỊCH BẢN VÀ KẾT QUẢ QUÁ TRÌNH ĐÁNH CHỈ MỤC

3.5.1. Mô hình quá trình đánh chỉ mục tổng quát

Nguồn tài liệu

[Từ/cụm từ]@[tên đường dẫn tài liệu] [số lần xuất hiện]

[Từ/cụm từ]@[tên đường dẫn tài liệu] [tổng số lần từ/cụm từ xuất hiện trong mỗi

tài liệu/tổng số lượng từ, cụm từ có trong mỗi tài liệu]

[Từ/cụm từ]@[tên đường dẫn tài liệu] [tổng số tài liệu có xuất hiện từ, cụm từ /

tổng số tài liệu][tổng số lần từ, cụm từ xuất hiện trong tài liệu / [tổng số lần từ,

cụm từ xuất hiện trong toàn bộ tài liệu][trọng số TF-IDF]

Tệp chỉ mục tìm kiếm

Tần suất xuất hiện của từ, cụm từ trong tài liệu

Sử dụng map(), reduce()

Tần suất của các tài liệu chứa từ với toàn bộ tài liệu

Sử dụng map(), reduce()

Tính trọng số TF-IDF của mỗi mục từ/cụm từ

Sử dụng map(), reduce()

Xuất kết quả ra tệp

Các tài liệu phân tách bởi các từ, cụm từ có nghĩa trong Tiếng Việt

Tách từ tiếng Việt cho nguồn dữ liệu

Hình 3.1: Sơ đồ đánh chỉ mục nguồn tài liệu

Page 18: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

16

3.5.2. Hệ thống triển khai và dữ liệu thực nghiệm

3.5.3. Tách từ trong Tiếng Việt

a) Mô tả

Đây là giai đoạn tiền xử lý nội dung các tài liệu trước khi trở

thành dữ liệu đầu vào cho quá trình lập chỉ mục bằng Map Reduce.

Theo thống kê, thì trong Tiếng Việt, có hơn 67.1% từ trong từ

điển có độ dài là 2 tiếng. Qua đó, thấy rõ so với từ đơn và các từ

ghép chiếm số lượng khá lớn. Trong luận văn này, tác giả chỉ ứng

dụng phương pháp “so khớp dài nhất” để tách từ tiếng Việt cho các

tài liệu đầu vào. Theo phương pháp này, để tách từ tiếng Việt ta đi từ

trái sang phải và chọn từ có nhiều âm tiết nhất mà có mặt trong từ

điển, rồi cứ tiếp tục cho từ kế tiếp cho đến hết câu.

Từ điển các cụm từ ghép tiếng Việt sẽ được tổng hợp từ các

từ, cụm từ trong điển Việt – Việt, Việt – Anh,...)

b) Mô tả kết quả đạt được sau khi thực hiện việc tách từ

- Nội dung tài liệu thô

Bộ GD&ĐT vừa có văn bản hướng dẫn tuyển thẳng, ưu tiên

xét tuyển vào đại học, cao đẳng năm 2014. Theo đó, thí sinh đoạt

giải nhất, nhì, ba trong kỳ thi chọn học sinh giỏi quốc gia trung học

phổ thông, được tuyển thẳng vào đại học các ngành đúng hoặc

ngành gần với môn thí sinh đoạt giải. Thí sinh đoạt giải khuyến

khích trong kỳ thi chọn học sinh giỏi quốc gia lớp 12 trung học phổ

thông, được tuyển thẳng vào cao đẳng các ngành đúng hoặc ngành

gần với môn thí sinh đoạt giải.

- Sau khi chạy qua phần mềm tách từ Tiếng Việt, nội dung thu

được như sau:

Bộ GD&ĐT vừa có văn_bản hướng_dẫn tuyển_thẳng, ưu_tiên

xét_tuyển vào đại_học, cao_đẳng năm 2014. Theo đó, thí_sinh đoạt

Page 19: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

17

giải nhất, nhì, ba trong kỳ_thi chọn học_sinh giỏi quốc_gia

trung_học phổ_thông, được tuyển_thẳng vào đại_học các ngành

đúng hoặc ngành gần với môn thí_sinh đoạt giải. Thí_sinh đoạt giải

khuyến_khích trong kỳ_thi chọn học_sinh giỏi quốc_gia lớp 12

trung_học phổ_thông, được tuyển_thẳng vào cao_đẳng các ngành

đúng hoặc ngành gần với môn thí_sinh đoạt giải.

3.5.4. Tính số lƣợng xuất hiện của từ/ cụm từ trong mỗi

tài liệu

a) Mô tả

Tính số lượng xuất hiện của từ/ cụm từ (gọi chung là cụm từ)

giúp cho hệ thống tìm kiếm xác định các tài liệu nào liên quan đến từ

khóa cần tìm.

b) Mẫu kết quả thu được sau khi thực thi

thành phần @VNEXPRESS - Sản xuất thành công bếp dầu đun kiểu gas.txt 1

thành phần @VNEXPRESS - Tàu thăm dò châu Âu đến cửa ngõ mặt trăng.txt 1

thành phần @VNEXPRESS - Tù nhân nổi tiếng nhất Palestine sẽ ra tranh cử.txt 1

thành phẩm @24H - Giá xăng nhập lao dốc, giá bán đứng im.txt 1

thành phẩm @CHINHPHU - Sản xuất thức ăn chăn nuôi đang “co” lại.txt 1

thành phẩm @TUOITRE - Phát hiện một cơ sở chuyên làm giả biển kiểm soát.txt 1

thành phố @24H - 4 chàng nhạc sĩ họ Nguyễn khiến showbiz Việt chao đảo.txt 1

thành phố @24H - 4 chàng trai Sài thành ẵm trọn giải Hot Vteen 2011.txt 3

3.5.5. Tính tổng số từ/ cụm từ trong mỗi tài liệu

a) Mô tả

Tính tổng tất cả các từ, cụm từ trong mỗi tài liệu sẽ giúp nhận

định được mức độ liên quan và quan trọng của từ khóa trong mỗi tài

liệu. Giả sử bạn cần sắp xếp tài liệu theo mức độ liên quan đến tài

liệu, thì tỉ lệ (tổng số lần xuất hiện của một từ/ tổng số lượng của tất

cả các từ trong mỗi tài liệu) là một tiêu chí để xếp hạng mức độ liên

quan.

Page 20: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

18

b) Mẫu kết quả thu được sau khi thực thi

thành phần @VNEXPRESS - Sản xuất thành công bếp dầu đun kiểu gas.txt 1/434

thành phần @VNEXPRESS - Tàu thăm dò châu Âu đến cửa ngõ mặt trăng.txt 1/681

thành phần @VNEXPRESS - Tù nhân nổi tiếng nhất Palestine sẽ ra tranh cử.txt 1/356

thành phẩm @24H - Giá xăng nhập lao dốc, giá bán đứng im.txt 1/456

thành phẩm @CHINHPHU - Sản xuất thức ăn chăn nuôi đang “co” lại.txt 1/745

thành phố @EVA - 8 thử thách đối với cha mẹ khi con đến tuổi teen.txt 1/329

thành phố @EVA - Bí quyết của những người vợ khôn ngoan.txt 1/834

thành phố @EVA - Bệnh tật rình rập sau nhiều loại đồ chơi trẻ em.txt 1/703

3.5.6. Tính trọng số TF-IDF

a) Mô tả

Những từ/cụm từ có giá trị TF-IDF cao là những từ xuất hiện

nhiều trong văn bản này, và xuất hiện ít trong các văn bản khác. Việc

này giúp lọc ra những từ phổ biến và giữ lại những từ có giá trị cao

(từ khoá của văn bản đó)

b) Mẫu kết quả thu được sau khi thực thi

thành phần @VNEXPRESS - Sản xuất thành công bếp dầu đun kiểu gas.txt

[16/5000, 1/434, 0.00574]

thành phần @VNEXPRESS - Tàu thăm dò châu Âu đến cửa ngõ mặt trăng.txt

[16/5000, 1/681, 0.00366]

thành phần @VNEXPRESS - Tù nhân nổi tiếng nhất Palestine sẽ ra tranh cử.txt

[16/5000, 1/356, 0.00700]

thành phẩm @CHINHPHU - Sản xuất thức ăn chăn nuôi đang “co” lại.txt

[10/5000, 1/745, 0.00362]

thành phẩm @TUOITRE - Phát hiện một cơ sở chuyên làm giả biển kiểm soát.txt

[10/5000, 1/583, 0.00462]

thành phố @24H - 4 chàng nhạc sĩ họ Nguyễn khiến showbiz Việt chao đảo.txt

[163/5000, 1/375, 0.00396]

thành phố @24H - 4 chàng trai Sài thành ẵm trọn giải Hot Vteen 2011.txt

[163/5000, 3/837, 0.00532]

thành phố @24H - Báo nước ngoài nói về nạn đỉa ở Việt Nam.txt

[163/5000, 1/724, 0.00205]

3.6. GIẢ LẬP HỆ THỐNG TÌM KIẾM VỚI LỆNH GREP

3.6.1. Giới thiệu lệnh grep trong Linux

Grep là lệnh tìm kiếm các dòng có chứa một chuỗi hoặc từ

Page 21: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

19

khóa trong file. Theo mặc định, grep in những dòng phù hợp. Sử

dụng grep để tìm kiếm các dòng văn bản phù hợp với một hoặc nhiều

biểu thức thông thường, và in ra những dòng phù hợp. Trong ngữ

cảnh nếu đã có tệp chỉ mục như mẫu kết quả tệp chỉ mục như trên đã

trình bày, thì có thể giả lập một hệ thống tìm kiếm đơn giản với lệnh

grep này.

3.6.2. Ứng dụng lệnh grep để tìm kiếm trong tệp chỉ mục

Trích lọc từ “thành phẩm” với câu lệnh grep :

hduser@master:~ $grep "^thành phẩm @" indexingfile/part-r-00000

thành phẩm @24H - Bữa sáng đặc biệt với bánh mỳ Pháp.txt [10/5000, 1/644, 0.00419]

thành phẩm @24H - Giá xăng nhập lao dốc, giá bán đứng im.txt [10/5000, 1/456, 0.00591]

thành phẩm @24H - Không tăng giá xăng dầu.txt [10/5000, 2/665, 0.00811]

thành phẩm @CHINHPHU - Sản xuất thức ăn chăn nuôi đang “co” lại.txt [10/5000, 1/745,

0.00362]

thành phẩm @CHINHPHU - Vinatex đạt tỷ lệ nội địa hóa 60%.txt [10/5000, 1/363, 0.00743]

thành phẩm @EVA - Hanoi Milk ém 280 tấn sữa bột Trung Quốc.txt [10/5000, 1/545, 0.00495]

thành phẩm @EVA - Hàng giả tung hoành thời tăng giá.txt [10/5000, 1/683, 0.00395]

thành phẩm @EVA - Hàng điện tử ngoại nhập bắt đầu đổ vào VN.txt [10/5000, 1/347,

0.00777]

thành phẩm @EVA - Jurlique đã có mặt tại Việt Nam.txt [10/5000, 1/730, 0.00369]

thành phẩm @TUOITRE - Phát hiện một cơ sở chuyên làm giả biển kiểm soát.txt [10/5000,

1/583, 0.00462]

3.7. ĐÁNH GIÁ CHUNG

3.7.1. Đáp ứng việc lập chỉ mục phân tán

Map Reduce hổ trợ các giải thuật tính toán phân tán. Vì thế khi

áp dụng Map Reduce, chúng ta có thể tập trung nhiều hơn cho phần

logic của việc lập chỉ mục tìm kiếm, bỏ qua các chi tiết phức tạp của

việc xử lý phân tán trên nhiều máy chủ khác nhau. Đây là hiệu quả

quan trọng nhất của việc ứng dụng Hadoop Map Reduce cho việc lập

chỉ mục.

Bên cạnh đó đã có một số mô hình Map Reduce trên các ngôn

ngữ Java, C++, Python, Perl, Ruby và C. Vì vậy chúng ta có thể lựa

Page 22: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

20

chọn ngôn ngữ và thư viện Map Reduce để thực hiện

3.7.2. Đáp ứng việc lập chỉ mục hổ trợ tốt cho Tiếng Việt

Với việc lập chỉ mục kết hợp ứng dụng giải thuật tách từ Tiếng

Việt, tệp chỉ mục được tạo ra trên nền tảng những từ/ cụm từ có

nghĩa trong Tiếng Việt. Điều này giúp cho hệ thống tìm kiếm sử

dụng tệp chỉ mục có thể trả về những kết quả dựa trên ngữ nghĩa của

Tiếng Việt.

3.7.3. Tốc độ thực hiện việc lập chỉ mục

Về tốc độ thực thi khi đánh chỉ mục cho toàn bộ tài liệu, qua

quá trình thực nghiệm với hệ thống 3 server và dữ liệu lấy từ các

trang báo trên internet, đã đưa ra một số kết quả như:

a) Cố định số lượng file tài liệu, thay đổi tổng dung lượng

Mô tả: Triển khai việc đánh chỉ mục trên một máy chủ với kho

dữ liệu với 5000 tài liệu, và dung lượng tổng của 5000 tài liệu tăng

dần từ 50MB đến 5000MB dữ liệu. Chúng ta sẽ đo lường thời gian

thực hiện (phút):

Hình 3.2: Biểu đồ thời gian lập chỉ mục khi tăng dần dung lượng

Page 23: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

21

Đánh giá: Nhìn vào Hình 4.2, nhận thấy rằng, khi cố định tổng

số lượng, tổng dung lượng tăng lên gấp nhiều lần nhưng thời gian

thực thi không tăng lên đáng kể. Điều này chứng tỏ Map Reduce trên

hệ thống Hadoop đã đáp ứng được kỳ vọng về thời gian xử lý dữ liệu

lớn nói chung và phù hợp với việc lập chỉ mục cho các kho dữ liệu

có mức dung lượng lớn nói riêng.

b) Cố định tổng dung lượng các tài liệu, thay đổi số lượng

tài liệu

Mô tả: Triển khai việc đánh chỉ mục trên một máy chủ cho

tổng dung lượng cho toàn bộ tài liệu là 5000MB, và số lượng tài liệu

tăng dần từ 1 tài liệu đến 5000 tài liệu. Chúng ta sẽ đo lường thời

gian (phút) thực hiện:

Hình 3.3: Biểu đồ thời gian lập chỉ mục khi tăng dần số lượng

Đánh giá: Nhìn vào Hình 4.3, rõ ràng chúng ta thấy rằng, khi

cùng chung tổng số lượng 5000 file tài liệu, tổng dung lượng của

toàn bộ tài liệu tăng lên gấp nhiều lần nhưng thời gian thực thi không

tăng lên đáng kể. Điều này có thể khẳng định một lần nữa rằng Map

Reduce đáp ứng được việc lập chỉ mục cho các kho dữ liệu có mức

Page 24: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

22

dung lượng lớn.

c) Cố định số lượng, dung lượng tài liệu, thay đổi số lượng

máy chủ

Mô tả: Triển khai việc đánh chỉ mục trên nhiều máy chủ cho

tổng dung lượng cho toàn bộ tài liệu là 5000MB, và số lượng 5000

tài liệu. Chúng ta sẽ đo lường thời gian (phút) thực hiện:

Bảng 3.1: Nguồn thu thập dữ liệu thực nghiệm từ internet

Số lượng máy chủ Thời gian thực hiện (phút)

Xử lý trên 1 máy chủ 22

Xử lý trên 2 máy chủ 16

Xử lý trên 3 máy chủ 9

Đánh giá: Nhìn vào Bảng 4.3, Nhận thấy rằng, khi cố định tổng dung

lượng, số lượng các tài liệu tham gia lập chỉ mục, số lượng máy chủ

tham gia tăng lên thì thời gian thực thi lập chỉ mục giảm dần. Vậy

nên việc áp dụng Map Reduce là một giải pháp tích cực trong việc

lập chỉ mục cho các tài liệu phân tán trên nhiều máy chủ khác nhau.

Page 25: ỨNG DỤNG THUẬT TOÁN MAP REDUCE XÂY DỰNG TỆP CHỈ …tailieuso.udn.vn/bitstream/TTHL_125/6130/2/HuynhThaoPhuc.TT.pdf · HUỲNH THẢO PHÚC ỨNG DỤNG THUẬT TOÁN

23

KẾT LUẬN

Quá trình tạo tệp chỉ mục với giai đoạn tiền xử lý dữ liệu (quá

trình tách từ Tiếng Việt) đã giúp cho việc tìm kiếm được chính xác

hơn khi tìm kiếm với những từ khóa là cụm từ Tiếng Việt có nghĩa.

Với quá trình nghiên cứu ứng dụng Apache Hadoop - Map

Reduce vào việc xây dựng tệp chỉ mục, tác giả đã nhận thấy rằng

MapReduce đã thật sự làm đơn giản hoá các giải thuật tính toán phân

tán. Với Apache Hadoop -Map Reduce, tác giả chỉ cần cung cấp hai

hàm Map và Reduce để xử lý các công việc: tính số lượng xuất hiện

của từ/ cụm từ trong mỗi tài liệu, tính tổng số từ/ cụm từ trong mỗi

tài liệu, tính trọng số TF-IDF cùng với một số thành phần xử lý dữ

liệu đầu vào, cũng như một số thao tác cấu hình triển khai Apache

Hadoop trên nhiều máy chủ khác nhau. Chính vì vậy, quá trình tạo

tệp chỉ mục từ kho dữ liệu được lưu trữ phân tán được tập trung

nhiều hơn cho phần logic của ứng dụng, bỏ qua các chi tiết phức tạp

của việc phân tán xử lý.