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

Các kỹ thuật lai ghép trong giải thuật di truyền

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 (1.13 MB, 71 trang )


NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TSKH. NGUYỄN XUÂN HUY
HÀ NỘI - 2007
CÁC KỸ THUẬT LAI GHÉP
TRONG GIẢI THUẬT DI TRUYỀN

NGUYỄN XUÂN TOÀN
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ


LUẬN VĂN THẠC SĨ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ SỐ 1.01.10


1
MỤC LỤC

MỞ ĐẦU 3
Chƣơng 1. MỘT SỐ PHƢƠNG PHÁP TÁCH TỪ VÀ PHÂN LOẠI VĂN BẢN
TIẾNG VIỆT 6
1.1. Tổng quan về tách từ và phân loại văn bản tiếng Việt 6
1.2. Hƣớng tiếp cận tách từ và phân loại văn bản tiếng Việt 8
1.2.1. Hƣớng tiếp cận dựa trên từ 9
1.2.2. Hƣớng tiếp cận dựa trên ký tự 10
1.2.3. Một số nhận xét về các phƣơng pháp tách từ tiếng Việt 11
1.3. Phƣơng pháp tách từ và phân loại văn bản tiếng Việt dựa trên thống kê
từ Internet và Giải thuật di truyền 11
 Kết luận chƣơng 1 15


Chƣơng 2. GIẢI THUẬT DI TRUYỀN 16
2.1. Tổng quan về giải thuật di truyền 16
2.2. Một số cách biểu diễn lời giải của giải thuật di truyền 19
2.2.1. Biểu diễn nhị phân 19
2.2.2. Biểu diễn hoán vị 20
2.2.3. Biểu diễn giá trị 21
2.2.4. Biểu diễn dạng cây 21
2.3. Các toán tử di truyền 21
2.3.1. Đánh giá độ thích nghi của cá thể và toán tử chọn lọc 22
2.3.2. Toán tử lai ghép 24
2.3.3. Toán tử đột biến 25
2.4. Cơ sở toán học của giải thuật di truyền 27
2.4.1. Một số khái niệm 28
2.4.2. Định lý sơ đồ 30
2.5. Những cải tiến của giải thuật di truyền 32


2
2.5.1. Các toán tử cao cấp 32
2.5.2. Các sơ đồ lựa chọn 38
 Kết luận chƣơng 2 39
Chƣơng 3. SỬ DỤNG GIẢI THUẬT DI TRUYỀN TÁCH TỪ TIẾNG VIỆT 40
3.1. Cấu trúc âm tiết và mối tƣơng quan với “từ” tiếng Việt 40
3.1.1. Cấu trúc âm tiết năm thành phần 40
3.1.2. Cấu trúc âm tiết ba thành phần 42
3.1.3. So sánh cấu trúc hai loại âm tiết 49
3.2. Nguyên lý thống kê dựa trên Internet 50
3.3. Sử dụng giải thuật di truyền để tách từ tiếng Việt 53
3.3.1. Khảo sát độ dài của “từ” trên từ điển 54
3.3.2. Xử lý dữ liệu 55

3.3.3. Biểu diễn cá thể 57
3.3.4. Khởi tạo các tham số 58
3.3.5. Toán tử chọn lọc 59
3.3.6. Toán tử lai ghép 60
3.3.7. Toán tử đột biến 61
3.3.8. Quá trình sinh sản 62
3.4. Phân loại văn bản tiếng Việt 63
 Kết luận chƣơng 3 63
KẾT LUẬN 65
TÀI LIỆU THAM KHẢO 66
PHỤ LỤC 70


3
MỞ ĐẦU

Hơn hai thập kỷ trở lại đây, lƣợng thông tin đƣợc lƣu trữ trên các thiết bị
điện tử không ngừng tăng lên. Do các ƣu điểm khi lƣu trữ tài liệu số nhƣ cách
lƣu trữ gọn nhẹ, thời gian lƣu trữ lâu dài, tiện dụng trong trao đổi, dễ dàng sửa
đổi… nên các phƣơng thức sử dụng giấy tờ trong công việc và trong giao dịch
đã dần đƣợc số hoá chuyển sang các dạng văn bản lƣu trữ trên máy tính hoặc
truyền tải trên mạng. Điều đó đã làm số lƣợng văn bản số tăng lên nhanh
chóng. Cùng với sự gia tăng về số lƣợng văn bản, nhu cầu tìm kiếm văn bản
cũng tăng theo. Với lƣợng văn bản đồ sộ thì việc phân loại văn bản tự động
phục vụ quá trình tìm kiếm thông tin dễ dàng, nhanh chóng là cần thiết. Đồng
thời, việc phân loại văn bản tự động sẽ giúp con ngƣời tiết kiệm đƣợc rất nhiều
thời gian và công sức.
Theo [29], “Việc phân loại văn bản tự động là việc gán các nhãn phân
loại lên một văn bản mới dựa trên mức độ tương tự của văn bản đó so với các
văn bản đã được gán nhãn trong tập huấn luyện”.

Trong tiếng Anh đã có nhiều công trình nghiên cứu và đạt đƣợc kết quả
nhƣ: Graph - Based Approach [6], Neural Network [12], Support Vector
Machine [18], Linear Least Squares Fit [28]… Các phƣơng pháp trên đều dựa
vào xác suất thống kê hoặc thông tin về trọng số của từ trong văn bản.
Đối với tiếng Việt, đã có một số công trình nghiên cứu về phân loại văn
bản: Conditional Random Fields and Support Vector Machine [7], Weighted
Finit State Transducer and Neural Network [10], Dynamic Programming
[20]… Các nghiên cứu trên đã đề cập đến khó khăn trong vấn đề xử lý văn bản
để rút ra tần số xuất hiện của từ. Trong khi đó, để phân loại văn bản thì bƣớc
tách từ đầu tiên là quan trọng. Đồng thời phần lớn các phƣơng pháp tách từ
tiếng Việt đều dựa trên tập dữ liệu huấn luyện và từ điển trong khi hiện nay


4
chƣa có từ điển hay tập dữ liệu huấn luyện tiếng Việt đƣợc gán nhãn đủ lớn
phục vụ việc này.
Trong thời gian gần đây, một phƣơng pháp tiếp cận cho việc tách từ và
phân loại văn bản là: Internet and Genetics Algorithm - Based Text
Categorization (IGATEC) của H. Nguyen [17]. Điểm khác biệt của thuật toán
là kết hợp giải thuật di truyền với việc trích xuất thông tin thống kê từ Internet
thông qua một công cụ tìm kiếm thay vì lấy từ tập dữ liệu nhƣ các phƣơng
pháp khác. Giải thuật di truyền cho phép xây dựng phƣơng pháp tìm kiếm song
song (tìm kiếm tiến hóa) trên quần thể mà trong đó mỗi cá thể tƣơng ứng với
một cách tách từ cho câu đang xét. Hàm thích nghi sẽ đánh giá độ thích nghi
của các tài liệu thống kê, rút trích từ Internet sử dụng các công cụ tìm kiếm
thông minh (Search Engine). Thông tin rút trích bao gồm tần số các tài liệu và
thông tin tƣơng quan giữa các nhóm từ trong tài liệu.
Trên cơ sở các phân tích trên, luận văn thực hiện tìm hiểu giải thuật di
truyền, cơ sở toán học, các cải tiến của giải thuật di truyền và ứng dụng vào
vấn đề tách từ tiếng Việt. Việc tách từ tiếng Việt trong luận văn này dựa trên ý

tƣởng của thuật toán IGATEC nhƣng có bổ sung một vài cải tiến trong quá
trình lai ghép và đột biến nhằm tăng độ chính xác.
Ngoài phần mở đầu, kết luận và phụ lục, luận văn đƣợc chia thành các
chƣơng chính nhƣ sau:
 Chƣơng 1. Một số phƣơng pháp tách từ và phân loại văn bản tiếng
Việt: tìm hiểu các hƣớng tiếp cận tách từ và phân loại văn bản tiếng Việt và phƣơng
pháp tách từ tiếng Việt sử dụng giải thuật di truyền kết hợp với trích xuất thông tin
thống kê từ Internet.
 Chƣơng 2. Giải thuật di truyền: tìm hiểu về giải thuật di truyền, cơ sở
toán học, các toán tử và các cải tiến của giải thuật di truyền.


5
 Chƣơng 3. Sử dụng giải thuật di truyền để tách từ tiếng Việt: đề xuất
một số cải tiến trong quá trình lai ghép và đột biến với mục tiêu tăng hiệu quả
của thuật toán IGATEC.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho
phép nhƣng sẽ không tránh khỏi những thiếu sót. Hiện thời trong luận văn này
mới chỉ dừng ở mức tìm hiểu, sử dụng giải thuật di truyền cho quá trình tách từ
tiếng Việt phục vụ cho các chƣơng trình dịch chéo đa ngữ, phân loại tự động
các văn bản tiếng Việt… Mong quý thầy cô và các bạn đọc thông cảm, có
những ý kiến đóng góp để hoàn thiện đề tài.




6
Chƣơng 1
MỘT SỐ PHƢƠNG PHÁP TÁCH TỪ VÀ PHÂN LOẠI
VĂN BẢN TIẾNG VIỆT


1.1. Tổng quan về tách từ và phân loại văn bản tiếng Việt
Theo các kết quả nghiên cứu [7, 10, 20, 29], các phƣơng pháp phân loại
văn bản tiếng Việt hiệu quả nhƣ: Support Vector Machine, Conditional
Random Fields, Dynamic Programing… đều cần thông tin xác suất hay thống
kê trọng số của từ. Thông qua tìm hiểu các phƣơng pháp này trong việc phân
loại văn bản tiếng Việt, có thể nhận ra rằng việc tách từ là bƣớc đầu tiên hết
sức quan trọng cần phải đƣợc giải quyết.
Đối với các ngôn ngữ châu Á nhƣ tiếng Hoa, tiếng Nhật, tiếng Hàn và cả
tiếng Việt, tách từ là một khó khăn chính trong việc phân loại văn bản. Mặc dù
đƣợc viết bằng các ký tự La tinh mở rộng, tiếng Việt cũng có những đặc tính
chung với các ngôn ngữ Đông Nam Á khác nhƣ khó xác định ranh giới giữa
các từ và có nhiều điểm khác biệt về ngữ âm, văn phạm và ngữ nghĩa… so với
tiếng Anh.
Do đó, khó có thể áp dụng hƣớng tiếp cận đã đƣợc nghiên cứu và thử
nghiệm thành công trên tiếng Anh [6, 12, 18, 29, 30]… cho phân loại văn bản
tiếng Việt nếu không xây dựng thành công giải pháp cho việc tách từ trong văn
bản tiếng Việt.
Vì sao việc xác định ranh giới từ trong tiếng Việt lại là bài toán khó?
Đơn vị cơ bản trong tiếng Việt là tiếng (hay “âm tiết”), không phải là từ. Trong
[1] đã nêu ra một số đặc tính chính của từ trong tiếng Việt nhƣ sau:
- Từ ở dạng nguyên thể, hình thức và ý nghĩa độc lập với cú pháp.
- Từ đƣợc cấu trúc từ “tiếng” (hay “âm tiết”).


7
- Từ bao gồm từ đơn (từ một tiếng) và từ ghép (n tiếng với n < 5), bao
gồm từ láy và từ ghép.
Ví dụ: “Khoa học” là từ ghép gồm 2 “tiếng” trong tiếng Việt.
Trong khi đó, định nghĩa về từ trong tiếng Anh nhƣ sau: “Từ là một

nhóm ký tự có nghĩa, được phân cách bởi ký tự khoảng trắng trong câu” (Theo
từ điển Webster).
Dƣới đây là một số điểm khác biệt chính giữa tiếng Việt và tiếng Anh [2,
17, 25].
Đặc điểm
Tiếng Việt
Tiếng Anh
Đơn vị cơ bản
Tiếng (Âm tiết)
Từ
Tiền tố/Hậu tố
Không có

Từ loại
Không đồng nhất
Đƣợc định nghĩa rõ
Ranh giới từ
Tổ hợp có nghĩa dựa vào
ngữ cảnh của các tiếng
Khoảng trắng hoặc dấu câu
Bảng 1.1. Các điểm khác biệt chính giữa tiếng Việt và tiếng Anh.
Chính những đặc điểm khác biệt trên làm cho việc tách từ tiếng Việt trở
nên khó khăn hơn.
Theo Đinh Điền [10], trong một số phƣơng pháp tách từ tiếng Hoa và
một số ngôn ngữ Đông Nam Á khác đƣợc thử nghiệm trên tiếng Việt thì điều
kiện quan trọng cần có là một hệ thống từ điển và tập dữ liệu huấn luyện đầy
đủ chính xác. Một từ điển hay một tập dữ liệu huấn luyện không hoàn chỉnh sẽ
làm giảm hiệu suất của thuật toán.
Hiện tại, chƣa có từ điển chuẩn hay dữ liệu huấn luyện tiếng Việt đƣợc
gán nhãn đủ lớn phục vụ việc này. Do đặc điểm của tiếng Việt nên việc xây

dựng bộ từ điển chuẩn hay dữ liệu này cần rất nhiều thời gian, công sức và chi


8
phí. Đây chính là vấn đề đáng lo nhất trong bài toán phân loại văn bản tiếng,
xử lý ngôn ngữ tự nhiên và tìm kiếm thông tin tiếng Việt.

1.2. Hƣớng tiếp cận tách từ và phân loại văn bản tiếng Việt
Theo các kết quả khảo sát của Foo và Li [14] về tách từ trong văn bản
tiếng Hoa và qua tìm hiểu có thể thấy rằng có hai cách tiếp cận trong vấn đề
tách từ và phân loại văn bản: Hƣớng tiếp cận dựa trên từ và hƣớng tiếp cận dựa
trên ký tự.














Hình 1.1. Các hướng tiếp cận cơ bản trong việc tách từ tiếng Hoa và hướng
tiếp cận trong tách từ tiếng Việt.
Chinese Segmentation
Vietnamese Segmentation

Word - Based
Character - Based
Uni - Gram
N - Gram
Statistic
Dictionary
Hybrid
Full Word / Phrase
Component
Nguyễn Cẩm Tú
H. Nguyen
Lê Hà An
Luận văn này
Shortest Match
Longest Match
Overlap Match
Đinh Điền


9
1.2.1. Hướng tiếp cận dựa trên từ
Các hƣớng tiếp cận dựa trên từ đƣợc chia thành ba nhóm: dựa vào thống
kê (Statistic Based), dựa vào từ điển (Dictionary Based) và nhóm lai (Hybrid).
Giải pháp theo hƣớng tiếp cận dựa vào thống kê cần phải dựa vào
thống tin thống kê nhƣ: từ, tần số ký tự, xác suất cùng xuất hiện trong một tập
dữ liệu cơ sở… Tính hiệu quả của các giải pháp loại này chủ yếu dựa vào dữ
liệu huấn luyện cụ thể đƣợc sử dụng. Đây là vấn đề khó khăn đối với bài toán
tách từ tiếng Việt.
Trong hƣớng tiếp cận dựa vào từ điển, các phân đoạn văn bản đƣợc
đối sánh dựa vào từ điển. Hạn chế trong việc tách từ theo hƣớng tiếp cận dựa

trên từ điển đó là cần phải thực hiện hoàn toàn dựa trên từ điển hoàn chỉnh,
trong khi việc xây dựng từ điển hoàn chỉnh là không khả thi.
Hƣớng tiếp cận lai áp dụng nhiều cách khác nhau để tận dụng ƣu điểm
của các giải pháp. Mặc dù có đƣợc những ƣu điểm của các giải pháp nhƣng
hƣớng tiếp cận này lại gặp phải các khóa khăn, phức tạp khác nhƣ: thời gian xử
lý, không gian đĩa…
Đinh Điền [10] đã xây dựng dữ liệu huấn luyện riêng (khoảng 10MB)
dựa vào các tài nguyên, tin tức và sách điện tử trên Internet… Trên cơ sở tập
dữ liệu tác giả sử dụng hệ thống tách từ tiếng Việt gồm hai tầng: tầng WFST
ngoài việc tách từ còn xử lý thêm các vấn đề liên quan đến đặc thù của tiếng
Việt nhƣ từ láy, tên riêng… và tầng mạng nơron dùng để khử nhập nhằng đối
với các trƣờng hợp tầng WFST cho kết quả ngang nhau. Phƣơng pháp này cho
kết quả với độ chính xác cao vì mục đích của tác giả là để phục vụ cho việc
dịch máy. Tuy nhiên tập dữ liệu huấn luyện còn tƣơng đối nhỏ, khó có thể đảm
bảo dung lƣợng và độ phong phú cho việc tách từ.


10
Tóm lại, các hƣớng tiếp cận phục vụ cho việc phân loại văn bản tiếng
Việt dựa vào từ chỉ thực hiện tốt khi chúng ta có bộ từ điển tốt hay dữ liệu
huấn luyện đủ lớn.
1.2.2. Hướng tiếp cận dựa trên ký tự
Các hƣớng tiếp cận dựa trên ký tự (dựa trên “tiếng” - “âm tiết” trong
tiếng Việt) có thể chia làm hai nhóm nhỏ: tiếp cận dựa trên một ký tự (uni-
gram) và tiếp cận dựa trên nhiều ký tự (n-gram):
Hƣớng tiếp cận dựa trên một ký tự chia văn bản thành các ký tự đơn
lẻ để thực hiện tách từ.
Hƣớng tiếp cận dựa trên nhiều ký tự (n-gram) chia văn bản ra thành
nhiều chuỗi, mỗi chuỗi gồm hai, ba ký tự trở lên. So với hƣớng tiếp cận trên
một ký tự, hƣớng tiếp cận này cho nhiều kết quả ổn định hơn. Ƣu điểm nổi bật

của hƣớng tiếp cận dựa trên nhiều ký tự là tính đơn giản và dễ ứng dụng, ngoài
ra còn có thuận lợi là ít tốn chi phí cho việc tạo chỉ mục (index) và xử lý nhiều
câu truy vấn (query processing).
Các phƣơng pháp dựa trên ký tự tuy đơn giản nhƣng đã đem lại một số
kết quả trong việc xử lý Việt. Gần đây cũng có một số bài báo tiếp cận hƣớng
tách từ và phân đoạn văn bản tiếng Việt theo hƣớng tiếp cận này:
Lê Hà An [10] đã xây dựng tập dữ liệu thô và sử dụng quy hoạch động
để tối ƣu hóa tổng xác suất của các phân đoạn trong văn bản (các ngữ đƣợc
phân cách bởi các ký tự phân cách). Tập dữ liệu đầu vào đƣợc tác giả sử dụng
nhỏ và thí nghiệm chỉ dừng lại ở việc tách từ có ba “tiếng”.
Nguyễn Cẩm Tú [7] đang nghiên cứu, sử dụng hai phƣơng pháp
Conditional Random Fields và Support Vector Machine cho việc phân loại văn
bản tiếng Việt.


11
Trong bài báo của H. Nguyen [17], thay vì sử dụng tập dữ liệu thô cho
quá trình phân loại, tác giả đã sử dụng thông tin thống kê trực tiếp từ Internet
và sử dụng giải thuật di truyền để tìm ra những cách phân loại văn bản tối ƣu
nhất của cùng một văn bản. Mặc dù bài báo chỉ mới trình bày những kết quả
thử nghiệm bƣớc đầu, nhƣng cũng đã mở ra khả năng tìm hiểu, nghiên cứu,
phát triển cho hƣớng tiếp cận này.
1.2.3. Một số nhận xét về các phương pháp tách từ tiếng Việt
Một cách tổng quan, phƣơng pháp dựa trên từ cho độ chính xác khá cao
(trên 95%) nhờ vào tập dữ liệu huấn luyện lớn, đƣợc đánh dấu chính xác, tuy
nhiên hiệu suất của thuật toán phụ thuộc hoàn toàn vào dữ liệu huấn luyện. Với
các phƣơng pháp cần phải sử dụng từ điển hoặc tập huấn luyện, ngoài việc tách
từ thật chính xác, ta còn có thể nhờ vào các thông tin đánh dấu trong tập dữ
liệu để thực hiện các mục đích khác nhƣ dịch máy, kiểm lỗi chính tả, từ điển
đồng nghĩa

Hƣớng tiếp cận dựa trên ký tự có ƣu điểm là dễ thực hiện, thời gian thực
thi tƣơng đối nhanh, tuy nhiên lại có độ chính xác không cao bằng phƣơng
pháp dựa trên từ. Hƣớng tiếp cận này thích hợp cho các mục đích nghiên cứu
không cần đến độ chính xác tuyệt đối cũng nhƣ các thông tin về từ loại nhƣ
phân loại văn bản, lọc spam, firewall Nhìn chung, hƣớng tiếp cận dựa trên ký
tự có những ƣu điểm nhất định, mở ra các hƣớng nghiên cứu tiếp theo để nâng
cao độ chính xác của phƣơng pháp tách từ này.

1.3. Phƣơng pháp tách từ và phân loại văn bản tiếng Việt dựa trên thống
kê từ Internet và Giải thuật di truyền
Phƣơng pháp tách từ và phân loại văn bản tiếng Việt dựa trên thống kê
từ Internet và giải thuật di truyền (Internet and Genetics Algorithm-based Text
Categorization for Documents in Vietnamese (IGATEC) do H. Nguyen giới


12
thiệu là hƣớng tiếp cận cho việc tách từ cho mục đích phân loại văn bản mà
không cần dùng đến một từ điển hay tập huấn luyện nào.
Trong hƣớng tiếp cận này, tác giả kết hợp giữa giải thuật di truyền với
dữ liệu thống kê đƣợc trích xuất từ Internet tiến hoá một quần thể gồm các cá
thể là các khả năng tách từ trong câu. Hàm thích nghi sẽ đánh giá độ thích nghi
của các tài liệu thống kê, rút trích từ Internet sử dụng các công cụ tìm kiếm
thông minh.
Theo khảo sát, Hệ thống gồm ba phần:
- Online Extractor.
- Engine for Text Segmentation.
- Text Categorization.








Hình 1.2. Mô hình hệ thống IGATEC.
Online Extractor: thực hiện lấy thông tin về tần số xuất hiện của các từ
trong văn bản bằng cách sử dụng một Search Engine nổi tiếng nhƣ Google. Sau
đó, tác giả sử dụng các công thức sau đây để tính toán mức độ phụ thuộc lẫn
nhau (Mutual Information) để là cơ sở tính hàm phù hợp fitness cho Engine
Online Extractor
Online Extractor
Online Extractor
Online Extractor
Segmentation
……
Segmentation
Segmentation


13
của giải thuật di truyền.
- Công thức tính xác suất các từ xuất hiện trên Internet:
o p(x) =

MAX
xcount )(

(1.1)
o p(x
1

& x
2
) =

MAX
xxcount )&(
21

(1.2)
với MAX là số lƣợng các tài liệu tiếng Việt đã đƣợc lập chỉ mục.
count(x) số lƣợng văn bản trên Internet đƣợc tìm thấy có chứa từ x hoặc
cùng chứa x
1
và x
2
đối với count(x
1
& x
2
).
- Tính xác suất độ phụ thuộc của một từ lên một từ khác:
p(x
1
| x
2
) =
)(
)&(
1
21

xp
xxp

(1.3)
Thông tin phụ thuộc lẫn nhau (Mutual Information) của các từ ghép
đƣợc cấu tạo bởi n tiếng (cx = x
1
x
2
…x
n
) tính bởi công thức sau:
MI (cx) =



n
j
nj
n
xxxpxp
xxxp
1
21
21
)& &&()(
)& &&(
(1.4)
Engine for Text Segmentation: mỗi cá thể trong quần thể đƣợc biểu
diễn bởi chuỗi các bit 0 và 1, trong đó, mỗi bit đại diện cho một tiếng trong văn

bản, mỗi nhóm bit cùng loại đại diện cho một phân đoạn (Segment). Các cá thể
đƣợc khởi tạo ngẫu nhiên, trong đó, mỗi Segment đƣợc giới hạn trong khoảng
5 tiếng. Engine sau đó thực hiện các toán tử lai ghép và đột biến làm tăng giá
trị fitness của các cá thể nhằm đạt đƣợc cách tách từ tốt nhất có thể.
Text Categorization: tác giả dùng độ hỗ trợ (Support Degree) của văn
bản cần phân loại cho các từ khoá để phân loại văn bản. Công thức phân loại
văn bản trong IGATEC do chính tác giả đề nghị dựa vào xác suất đồng xuất


14
hiện của các từ trong văn bản với một từ khóa nhất định, cụ thể:
- Cho trƣớc một từ khóa k, độ phụ thuộc của từ x vào k đƣợc tính theo
công thức (1.3) tức là: p(k

| x) =
)(
)&(
xp
xkp

- Tiếp theo, độ liên quan (Relative) của một cách tách ngữ t với từ khóa k
bằng tổng xác suất của tất cả các từ x xuất hiện đồng thời với k:
rel (t, k) =


p
i
i
xkp
1

)|(
(1.5)
- Độ hỗ trợ của cách tách ngữ t vào chủ đề c = {k
1
,k
2
,…,k
s
} là:
SP (t, c) =


n
i
i
ktrel
n
1
)|(
1
(1.6)
với k
i
là tập các từ khóa đại diện cho chủ đề c.
Theo công thức trên, tác giả cho rằng phân đoạn g = {t
1
, t
2
,…, t
n

} có độ
hỗ trợ vào một chủ đề càng cao thì khả năng phân đoạn đó thuộc về chủ đề này
càng lớn. Dựa vào các công thức, độ phụ thuộc của văn bản d đƣợc xác định
theo công thức:
SP (d, c) =


m
i
i
cgSP
1
)|(
=
 
 
m
i
n
j
ij
ctSP
n
1 1
)|(
1
(1.7)
Kết quả ở công thức (1.7) cho thấy văn bản d sẽ thuộc về chủ đề có
SP(d, c) lớn nhất.
 Nhận xét về phƣơng pháp IGATEC:

Phƣơng pháp IGATEC có ƣu điểm là:
- Không cần sử dụng bất cứ tập dữ liệu huấn luyện hoặc từ điển nào.
- Tƣơng đối đơn giản và không tốn thời gian huấn luyện.


15
Một số Hạn chế:
- IGATEC có độ chính xác thấp nhƣng vẫn chấp nhận đƣợc đối với
mục đích tách từ dành cho phân loại văn bản.
- Thời gian chạy ban đầu khá chậm do phải lấy thông tin từ Internet mà
đƣờng truyền ở Việt Nam còn hạn chế.
- Chƣa có các thử nghiệm trên tập dữ liệu đủ lớn.

 Kết luận chƣơng 1
Chƣơng 1, đã tìm hiểu về một số phƣơng pháp tách từ và phân loại văn
bản tiếng Việt. Đồng thời trong chƣơng này cũng tìm hiểu và trình bày phƣơng
pháp tách từ dựa trên giải thuật di truyền và thống kê Internet (IGATEC) do H.
Nguyen giới thiệu cũng nhƣ các ƣu điểm và hạn chế của phƣơng pháp
IGATEC.
Các chƣơng tiếp theo sẽ đi sâu tìm hiểu giải thuật di truyền, cơ sở toán
học và các cải tiến của giải thuật Trên cơ sở đó đề xuất một số cải tiến nhằm
tăng hiệu quả cho thuật toán IGATEC.


16
Chƣơng 2
GIẢI THUẬT DI TRUYỀN

2.1. Tổng quan về giải thuật di truyền
Giải thuật di truyền (Genetic Algorithm - GA) lần đầu đƣợc tác giả

Holland giới thiệu vào năm 1962 [15, 16]. Giải thuật di truyền mô phỏng theo
cơ chế của quá trình chọn lọc và di truyền trong tự nhiên [3, 4, 5, 9, 11, 13, 15,
16, 22, 25]. Từ tập các lời giải có thể ban đầu, thông qua nhiều bƣớc tiến hoá
để hình thành các tập mới với những lời giải tốt hơn, cuối cùng sẽ tìm đƣợc lời
giải gần tối ƣu nhất.
Giải thuật di truyền sử dụng các thuật ngữ lấy từ di truyền học:
- Một tập hợp các lời giải đƣợc gọi là một lớp hay quần thể (Population).
- Mỗi lời giải biểu diễn bởi một nhiễm sắc thể hay cá thể (Chromosome).
- Nhiễm sắc thể đƣợc tạo thành từ các gen.
Một quá trình tiến hoá đƣợc thực hiện trên một quần thể tƣơng đƣơng
với sự tìm kiếm trên không gian các lời giải có thể của bài toán. Quá trình tìm
kiếm này luôn đòi hỏi sự cân bằng giữa hai mục tiêu: Khai thác lời giải tốt nhất
và xem xét toàn bộ không gian tìm kiếm.
Giải thuật di truyền thực hiện tìm kiếm theo nhiều hƣớng bằng cách duy
trì tập hợp các lời giải có thể và khuyến khích sự hình thành và trao đổi thông
tin giữa các hƣớng.
Tập lời giải phải trải qua nhiều bƣớc tiến hoá, tại mỗi thế hệ, một tập
mới các cá thể đƣợc tạo ra có chứa các phần của những cá thể thích nghi nhất
trong thế hệ cũ. Đồng thời giải thuật di truyền khai thác một cách có hiệu quả
thông tin trƣớc đó để suy xét trên điểm tìm kiếm mới với mong muốn có đƣợc
sự cải thiện qua từng thế hệ. Nhƣ vậy, các đặc trƣng đƣợc đánh giá tốt sẽ có cơ


17
hội phát triển và các tính chất tồi (không thích nghi với môi trƣờng) sẽ có xu
hƣớng biến mất.
Giải thuật di truyền tổng quát đƣợc mô tả nhƣ sau:
PROCEDURE GeneticAlgorithm;
BEGIN
T:=0;

Khởi tạo lớp P(t);
Đánh giá lớp P(t);
While not (Điều_kiện_kết_thúc) do
Begin
t:=t+1;
Chọn lọc P(t) từ P(t-1);
Kết hợp các cá thể của P(t);
Đánh giá lớp P(t);
end;
END;
Trong đó:
- Tập hợp các lời giải ban đầu đƣợc khởi tạo ngẫu nhiên.
- Trong vòng lặp thứ t, GeneticAlgorithm xác định tập các nhiễm sắc thể
trong quần thể P(t)={x
1
t
, x
2
t
, …, x
n
t
} bằng cách chọn lựa các nhiễm sắc thể
thích nghi hơn từ quần thể P(t-1). Mỗi nhiễm sắc thể x
i
t
đƣợc đánh giá để xác
định độ thích nghi của nó và một số thành viên của P(t) lại đƣợc tái sản xuất
nhờ các toán tử chọn lọc, lai ghép và đột biến.
Khi áp dụng giải thuật di truyền để giải quyết một bài toán cụ thể, cần

phải xác định rõ các vấn đề sau:


18
1. Chọn các cách biểu diễn di truyền nào đối với những lời giải có thể
của bài toán?
2. Tạo tập lời giải ban đầu nhƣ thế nào?
3. Xác định hàm đánh giá để đánh giá mức độ thích nghi của các cá thể
trong quần thể.
4. Xác định các toán tử di truyền để sản sinh con cháu.
5. Xác định giá trị các tham số mà giải thuật di truyền sử dụng nhƣ kích
thƣớc tập lời giải, xác suất áp dụng các toán tử di truyền…
Nhƣ vậy giải thuật di truyền là một giải thuật lặp nhằm giải quyết các bài
toán tìm kiếm, nó khác với các giải thuật tối ƣu thông thƣờng ở những điểm cơ
bản sau:
- Giải thuật di truyền làm việc với bộ mã của tập thông số chứ không
làm việc trực tiếp với giá trị của các thông số.
- Giải thuật di truyền tìm kiếm song song trên một quần thể chứ không
tìm kiếm từ một điểm, mặt khác nhờ áp dụng các toán tử di truyền, nó sẽ trao
đổi thông tin giữa các điểm, nhƣ vậy sẽ giảm bớt khả năng kết thúc tại một cực
tiểu cục bộ mà không tìm thấy cực tiểu toàn cục.
- Giải thuật di truyền chỉ sử dụng thông tin của hàm mục tiêu để đánh giá
quá trình tìm kiếm chứ không đòi hỏi các thông tin bổ trợ khác.
- Các luật chuyển đổi của giải thuật di truyền mang tính xác suất chứ
không mang tính tiền định.
Các thông số của bài toán đƣợc mã hoá thành các chuỗi. Cách đơn giản
nhất là chúng ta dùng chuỗi bit để mã hoá các thông số của bài toán. Mỗi thông
số đƣợc mã hoá bằng một chuỗi bit có độ dài nào đó, sau đó nối chúng lại với
nhau, ta sẽ có một chuỗi mã hoá cho tập các thông số. Để tính toán giá trị hàm
mục tiêu tƣơng ứng với mỗi chuỗi thông số, ta phải giải mã bộ thông số này

theo một quy tắc nào đó. Giải thuật di truyền tìm kiếm song song trên một tập


19
các chuỗi, do đó giảm thiểu đƣợc khả năng bỏ qua các cực trị toàn cục và dừng
lại ở cực trị địa phƣơng. Điều này giải thích vì sao giải thuật di truyền mang
tính toàn cục.
Hiện nay giải thuật di truyền đƣợc áp dụng ngày càng nhiều trong kinh
doanh, khoa học và kỹ thuật vì tính chất không quá phức tạp mà hiệu quả của
nó. Hơn nữa, giải thuật di truyền không đòi hỏi khắt khe đối với không gian
tìm kiếm nhƣ giả định về sự liên tục, sự có đạo hàm Bằng lý thuyết và thực
nghiệm, giải thuật di truyền đã đƣợc chứng minh là giải thuật tìm kiếm toàn
cục mạnh trong các không gian lời giải phức tạp.

2.2. Một số cách biểu diễn lời giải của giải thuật di truyền
Biểu diễn lời giải là vấn đề đầu tiên đƣợc quan tâm tới khi bắt tay vào
giải quyết một bài toán bằng giải thuật di truyền. Việc lựa chọn cách biểu diễn
lời giải nhƣ thế nào phụ thuộc vào từng lớp bài toán thậm chí vào từng bài toán
cụ thể.
Giải thuật di truyền kinh điển dùng chuỗi nhị phân có chiều dài xác định
để biểu diễn lời giải [16]. Tuy nhiên, thực tế cho thấy cách biểu diễn này khó
áp dụng trực tiếp cho các bài toán tối ƣu cỡ lớn có nhiều ràng buộc. Vì lý do
đó, giải thuật di truyền cải tiến hay còn gọi là Chương trình tiến hoá đã tìm
kiếm các cách biểu diễn thích nghi và tự nhiên hơn với các bài toán thực tế
nhƣ: Biểu diễn theo trật tự, theo giá trị thực, bằng cấu trúc cây, ma trận [5]…
Phần tiếp theo sẽ trình bầy tổng quan về các cách biểu diễn đó.
2.2.1. Biểu diễn nhị phân
Trong biểu diễn nhị phân (Binary Encoding), mỗi nhiễm sắc thể là một
chuỗi các bit 0 hoặc 1. Chẳng hạn:
NST A: 101100101100101011100101



20
NST B: 111111100000110000011111
Ví dụ: Bài toán “Xếp ba lô” đƣợc phát biểu: “Cho một tập các đồ vật,
mỗi đồ vật có giá trị và kích thƣớc xác định, cho biết sức chứa của ba lô. Hãy
chọn cách xếp các đồ vật vào ba lô trên sao cho tổng giá trị của các đồ vật là
cao nhất”.
Biểu diễn mỗi lời giải của bài toán trên bằng một chuỗi nhị phân, ở đó
mỗi bit 0 hoặc 1 ứng với một đồ vật không đƣợc chọn hoặc đƣợc chọn.
Với cách biểu diễn đó, bài toán đƣợc phát biểu lại nhƣ sau: “ Cho một
tập các khối lƣợng W[i], tập các giá trị P[i] và sức chứa C. Tìm một vectơ nhị
phân x=<x
1
, x
2
,…, x
n
> thoả mãn:



n
i
CiWix
1
][]-[

với P(x) =



n
i
iWix
1
][]-[
là cực đại.
Độ chính xác của cách biểu diễn nhị phân phụ thuộc vào số lƣợng bit
thực sự và bằng
12 

n
bb
LU
(U
b
, L
b
là cận trên và cận dƣới của miền giá trị và n là
số lƣợng bit của nhiễm sắc thể).
Các biểu diễn nhị phân có nhƣớc điểm:
- Độ chính xác không cao, muốn tăng độ chính xác phải tăng số lƣợng
bit biểu diễn (điều này sẽ làm chậm thuật toán).
- Mất tính chính xác khi tăng kích cớ miền giá trị (vì chiều dài nhị phân
cho trƣớc là cố định).
2.2.2. Biểu diễn hoán vị
Biểu diễn hoán vị (Permutation Encoding) đƣợc sử dụng trong bài toán
mà thứ tự các thành phần của lời giải quyết định mức độ phù hợp của lời giải,
điển hình nhƣ bài toán “ Ngƣời du lịch”.



21
Với cách biểu diễn hoán vị, cách sắp xếp của các gen khác nhau cho ta
các nhiễm sắc thể khác nhau, mỗi nhiễm sắc thể là một chuỗi các số nguyên
diễn tả quan hệ tiếp nối. Lời giải đƣợc biểu diễn bằng một vectơ số nguyên V =
(i
1
, i
2
,…, i
n
) với V là một hoán vị của tập thứ tự.
Ví dụ: NST A: ( 1 5 3 2 6 4 7 9 8 )
NST B: ( 8 5 6 7 2 3 1 4 9 )
2.2.3. Biểu diễn giá trị
Biểu diễn giá trị (Value Encoding) thƣờng dùng trong các bài toán mà
cách biểu diễn chuỗi nhị phân là khó thực hiện nhƣ miền xác định của các
thành phần lời giải khá lớn với độ chính xác yêu cầu cao, miền xác định không
rõ ràng, hay các bài toán mà việc biểu diễn nhị phân là “ không tự nhiên”.
Trong biểu diễn giá trị, mỗi cá thể là một chuỗi các giá trị liên quan đến
bài toán, các giá trị có thể là số thực, số nguyên, ký tự hay các đối tƣợng phức
tạp khác.
Ví dụ: NST A: (0.1229 2.9234 3.0012, 0.3567, 4.3828)
NST B (AJUHNEOLDOGSGLLIKUFSEJHJH)
2.2.4. Biểu diễn dạng cây
Cách biểu diễn lời giải dùng cấu trúc cây (Tree Encoding) đƣợc dùng
chủ yếu trong các chƣơng trình tiến hoá, biểu diễn biểu thức hay các chƣơng
trình di truyền. Với cách biểu diễn này, mỗi cá thể là một cây các đối tƣợng.

2.3. Các toán tử di truyền

Các cá thể trong giải thuật di truyền là các chuỗi bit đƣợc tạo bởi việc cắt
dán các chuỗi bit con. Mỗi chuỗi bit đại diện cho một tập thông số trong không
gian tìm kiếm, nên đƣợc coi là lời giải tiềm năng của bài toán tối ƣu. Từ mỗi


22
chuỗi bit ta giải mã để tính lại tập thống số, sau đó tính đƣợc giá trị hàm mục
tiêu. Từ đó, giá trị hàm mục tiêu đƣợc biến đổi thành giá trị do độ phù hợp của
từng chuỗi.
Quần thể chuỗi ban đầu đƣợc khởi tạo ngẫu nhiên, sau đó tiến hoá từ thế
hệ này sang thế hệ khác bằng các toán tử di truyền (tổng số chuỗi trong mỗi
quần thể là không thay đổi) [3, 4, 5, 19, 24, 25]. Có ba toán tử di truyền đơn
giản là:
- Chọn lọc (Selection).
- Lai ghép (Crossover).
- Đột biến (Mutation).
2.3.1. Đánh giá độ thích nghi của cá thể và toán tử chọn lọc
Mỗi bài toán trong thực tế có các điều kiện ràng buộc khác nhau đối với
lời giải. Quá trình tìm kiếm lời giải đối với giải thuật di truyền chính là quá
trình tiến hoá trong đó tại mỗi bƣớc cần phải lựa chọn các cá thể thích nghi hơn
để tái sản xuất ở thế hệ sau bằng phép chọn lọc.
Để đánh giá các lời giải, ngƣời ta xây dựng hàm thích nghi Fitness().
Chọn lọc là quá trình sao chép các chuỗi (các cá thể) từ thế hệ trƣớc sang thế
hệ sau theo giá trị hàm thích nghi (còn gọi là hàm mục tiêu).
Coi giá trị của hàm là số đo độ phù hợp, giải thuật di truyền sử dụng giá
trị hàm thích nghi để quyết định số con của một chuỗi: Những chuỗi với giá trị
hàm thích nghi lớn sẽ có xác suất lớn trong việc đóng góp một hay nhiều con
cháu trong thế hệ tiếp theo.
Toán tử này mô phỏng theo học thuyết sinh tồn của Darwin, chỉ có các
cá thể khoẻ mới có cơ hội sống sót và đóng góp vào việc tái sinh con cháu

trong các thế hệ sau.
Hàm thích nghi đƣợc xây dựng nhƣ sau:


23
- Xét lớp lời giải P có n cá thể, với mỗi cá thể h
i
thuộc P, tính độ thích
nghi Fitness(h
i
).
- Xác suất chọn cá thể h
i
để tái sản xuất đƣợc xác định bởi công thức
sau: Pr(h
i
) =


n
j
j
i
hFitness
hFitness
1
)(
)(
.
- Tại mỗi bƣớc tiến hoá, các cá thể đƣợc chọn tái sinh là các cá thể có

xác suất Pr() cao, điều này cho phép tạo ra các thế hệ sau có độ thích nghi tốt
hơn thế hệ trƣớc.
Fitness() còn đƣợc dùng để xác định điểm dừng của quá trình tìm kiếm
lời giải khi đã đạt đƣợc độ thích nghi chấp nhận đƣợc.
Có nhiều cách để chọn lựa cá thể khoẻ, tuy nhiên cần phải thận trọng
trong thuật toán chọn lựa sao cho đảm bảo các chuỗi khoẻ nhất có đóng góp
nhiều con trong quần thể, còn các chuỗi yếu vẫn có khả năng đóng góp vào
quần thể theo một xác suất nào đó. Điều này làm hạn chế khả năng các cá thể
siêu khoẻ sẽ nhanh chóng chiếm toàn bộ quần thể và thuật toán sẽ dừng rất
nhanh vì toàn bộ quần thể chỉ gồm một vài nhóm các chuỗi giống nhau. Trong
trƣờng hợp đó, kết quả tìm đƣợc có nhiều khả năng chỉ là các giá trị cực trị địa
phƣơng.
Một trong các cách đơn giản và hiệu quả để thực hiện toán tử chọn lọc là
sử dụng vòng tròn Rulet. Trong vòng tròn Rulet, mỗi cá thể sẽ chiếm một vùng
có diện tích tỷ lệ với độ thích nghi của chúng. Diện tích của cả vòng tròn tƣơng
ứng với 100% tổng mức thích nghi của toàn quần thể. Việc thực hiện lựa chọn
chuỗi con trong tái tạo đƣợc thực hiện nhƣ sau:
- Đánh số các cá thể trong quần thể, tính tổng độ thích nghi sumfitness
của toàn quần thể đồng thời ứng với mỗi cá thể, tính một tổng chạy bằng tổng
độ thích nghi của cá thể đó và các cá thể đứng trƣớc đó.


24
- Sinh một số ngẫu nhiên n trong khoảng từ 0 đến tổng mức thích nghi
sumfitness.
Cá thể đầu tiên trong quần thể có tổng chạy lớn hơn hoặc bằng n sẽ đƣợc
chọn cho thế hệ tiếp theo.
Ví dụ: Trong bảng 2.1, sinh số ngẫu nhiên n = 175 thì chuỗi thứ 3 là
chuỗi đƣợc chọn cho quá trình tái sinh.
Stt

Chuỗi
Độ thích nghi
Tỷ lệ %
Tổng chạy
1
1011001
86
24.5
86
2
0100001
58
16.6
144
3
1101001
176
50.3
320
4
1001010
30
8.6
350

Tổng
350
100

Bảng 2.1. Ví dụ dùng phép chọn lọc trên vòng tròn Rulet.

Khi đã chọn đƣợc cá thể cho quá trình tái sinh, chuỗi đó sẽ đƣợc sao
chép vào quần thể mới. Cách này cho phép các cá thể có độ thích nghi lớn có
nhiều cơ hội đƣợc đóng góp con cháu vào các thế hệ tiếp theo.
Tuy nhiên mỗi thế hệ tiến hoá còn phải có thêm các toán tử lai ghép và
đột biến nữa thì mới thực sự hoàn thành.
2.3.2. Toán tử lai ghép
Các cá thể trong quần thể sau khi đã chọn lọc đƣợc lai ghép với nhau.
Toán tử lai ghép đƣợc coi là toán tử di truyền quan trọng nhất, nó kết hợp các
đặc trƣng của các cá thể bố mẹ để tạo ra hai cá thể con bằng cách tráo đổi các
đoạn gen tƣơng ứng trên hai cá thể cha mẹ.
Phép lai ghép chọn ngẫu nhiên hai chuỗi bất kì trong quần thể sau khi đã
thực hiện chọn lọc, đồng thời sinh một số ngẫu nhiên, nếu nhỏ hơn xác suất lai

×