Tải bản đầy đủ (.doc) (25 trang)

Bài tập lớn xử lý ngôn ngữ tự nhiên đề tài tìm hiểu phương pháp tách từ trong văn bản tiếng việt theo hướng tiếp cận của 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 (665.02 KB, 25 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG


Bài tập lớn: Xử lý ngôn ngữ tự nhiên
Đề tài : Tìm hiểu phương pháp tách từ trong văn bản tiếng
việt theo hướng tiếp cận của giải thuật di truyền.
Giảng viên hướng dẫn: PGS.TS Lê Thanh Hương
Sinh viên thực hiện:
1- Nguyễn Thị Thúy. 20082599
2- Lương Thị Hoài Thu 20082588
3- Nguyễn Đình Hưởng 20081338
4- Nguyễn Phước Thọ 20082562

XỬ LÝ NGÔN NGỮ TỰ NHIÊN
HỆ THỐNG THÔNG TIN K53
Hà Nội, 04/2012
MỤC LỤC
MỤC LỤC 2
I.Tổng quan 3
1.Đặt vấn đề 3
2.Tách từ Tiếng Việt 3
II.Các phương pháp tách từ hiện nay 4
1.2.Nhận xét 4
3.2. Học dựa trên sự cải biến (Transformation-based Learning -TBL) 7
3.3. Chuyển đổi trạng thái trọng số hữu hạn (Weighted- Finite State Transducer- WFST)
8
3.4. Phương pháp tách từ dựa trên thống kê từ trên Internet và giải thuật di truyền.
(Internet and Genetics Algorithm-based Text Categorization for Documents in
Vietnamese - IGATEC) 10
IV.Phương pháp tách từ dựa trên thống kê Internet theo hướng tiếp cận của giải thuật di


truyền (IGATEC) 15
2.2.Công cụ tách từ dùng thuật toán di truyền (Genetic Alogorith) 17
V.Tìm hiểu opensource Vntokenizer để tách từ trong văn bản tiếng việt 22
2.1.Dữ liệu 23
2.2. Chạy chương trình 23
VI- Tài liệu tham khảo
25
2
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
I. Tổng quan
1. Đặt vấn đề
Xử lý ngôn ngữ tự nhiên (natural language processing - NLP) là một nhánh
của trí tuệ nhân tạo tập trung vào các ứng dụng trên ngôn ngữ của con người.
Trong trí tuệ nhân tạo thì xử lý ngôn ngữ tự nhiên là một trong những phần
khó nhất vì nó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ-công cụ hoàn
hảo nhất của tư duy và giao tiếp
Thực chất của xử lý ngôn ngữ tự nhiên là chuyển đổi âm thanh thành ngữ
nghĩa. Với mục đích là hiểu được ngôn ngữ, ý nghĩa.
Các bước phân tích của XLNNTN:
• Phân tích hình thái học (Morphology): cách từ được xây dụng, các tiền tố
hậu tố
• Phân tích cú pháp (Syntax): mối liên hệ về cấu trúc ngữ pháp giữa các từ
và ngữ.
• Phân tích ngữ nghĩa (Semantics ): nghĩa của từ, cụm từ và cách diễn đạt
• Diễn ngôn (Discourse): quan hệ giữa các ý hoặc các câu.
• Thực chứng: mục đích phát ngôn, cách sử dụng ngôn ngữ trong giao tiếp.
• Tri thức thế giới: Các chi thức về thế giới vá các tri thức ngầm
Trong phân tích hình thái học từng từ sẽ được phân tích và các ký tự
không phải chữ (như các dấu câu) sẽ được tách ra khỏi các từ. Trong tiếng
Anh và nhiều ngôn ngữ khác, các từ được phân tách với nhau bằng dấu

cách. Tuy nhiên trong tiếng Việt, dấu cách được dùng để phân tách các
tiếng (âm tiết) chứ không phải từ. Cùng với các ngôn ngữ như tiếng Trung,
tiếng Hàn,tiếng Nhật, phân tách từ trong tiếng Việt là một công việc không
hề đơn giản.
2. Tách từ Tiếng Việt
Đối với tiếng Anh hoặc các ngôn ngữ không đơn lập khác “từ là một nhóm
các kí tự có nghĩa được tách biệt bằng khoảng trắng trong câu” do vậy việc
tách từ trở nên rất đơn giản.
Còn đối với ngôn ngữ đơn lập như tiếng Việt, tiếng Hán, tiếng Thái … lại là
một bài toán khó. Bởi những đặc tính chính của ngôn ngữ đơn lập như sau:
 Từ ở dạng nguyên thể , hình thức và ý nghĩa của từ độc lập với cú pháp
 Từ được cấu trúc từ tiếng.
 Từ bao gồm từ đơn và từ phức (bao gồm từ láy và từ ghép).
Phương pháp tách tách từ tiếng Việt dựa trên thống kê từ Internet và thuật giải
di truyền – IGATEC (Internet and Genetics Algorithm based Text
Categorization for Documents in Vietnamese) do H. Nguyễn đề xuất năm
2005 như một hướng tiếp cận mới trong tách từ với 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 ngữ liệu học nào.
Vì vậy trong nội dung bài tập lớn này chúng em sẽ tìm hiểu về phương pháp
3
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
IGATEC và demo phương pháp sử dụng open source Vntokenizer.
II. Các phương pháp tách từ hiện nay
1. Vấn đề tách từ Tiếng Việt
1.1. So sánh giữa tiếng Anh và tiếng Việt.
Những đặc điểm chính của tiếng anh và tiếng Việt:
Tiếng Việt Tiếng Anh
- Là ngôn ngữ đơn lập (isolate) hay còn
gọi là loại hình phi hình thái, không biến
hình, đơn âm tiết.

- Từ không biến đổi hình thái, ý nghĩa
ngữ pháp nằm ngoài từ.
- Phương thức ngữ pháp chủ yếu : trật tự
từ và hư từ.
- Ranh giới từ không được xác định mặc
nhiên bằng khoảng trắng.
- Tồn tại loại từ đặc biệt “từ chỉ loại” hay
còn gọi là phó danh từ chỉ loại kèm theo
với danh từ.
- Có hiện tượng láy và nói lái trong tiếng
việt
 - Là ngôn ngữ không đơn lập- loại hình
biến cách hay còn gọi là loại hình chiết
khuất.
 - Từ có biến đổi hình thái, ý nghĩa ngữ
pháp nằm ở trong từ.
 - Phương thức ngữ pháp chủ yếu là phụ
tố.
 - Kết hợp giữa các hình vị là chặt chẽ,
khó xác định, được nhận diện bằng
khoảng trắng hoặc dấu câu.
- Hiện tượng cấu tạo bằng từ ghép thêm
phụ tố (affix) vào từ gốc là rất phổ biến.


1.2.Nhận xét
 Tiếng Việt là loại hình phi hình thái nên việc phân loại từ (danh từ, động
từ, tính từ….) và ý nghĩa từ là rất khó khăn, cho dù có sử dụng từ điển.
 Việc tiền xử lý văn bản (tách từ, tách đoạn, tách câu…) sẽ thêm phức tạp
với phần xử lý các hư từ, phụ từ, từ láy…

 Phương thức ngữ pháp chủ yếu là trật tự từ nên nếu áp dụng phương pháp
tính xác xuất xuất hiện của từ có thể không chính xác như mong đợi.
 Ranh giới từ không được xác định mặc định bằng khoảng trắng. Điều này
khiến cho việc phân tích hình thái (tách từ) tiếng Việt trỏe nên khó khăn.
Việc nhận diện ranh giới từ là quan trọng và làm tiền đề cho các xử lý tiếp
theo sau đó. như: kiểm tra lỗi chính tả, gán nhãn từ loại, thống kê tần suất
từ
 Vì tiếng Anh và tiếng Việt có những điểm khác biệt nên chúng ta không
thể áp dụng y nguyên các thuật toán tiếng Anh cho tiếng Việt.
2. Các hướng tiếp cận của kĩ thuật tách từ tiếng Việt
Dựa vào các kĩ thuật tách từ của tiếng Hán, và những điểm tương đồng giữa tiếng
4
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Việt và tiếng Hán. Chúng ta có thể xây dựng sơ đồ các hướng tiếp cận của kĩ thuật
tách từ tiếng Việt:
II.1. Hướng tiếp cận dựa trên từ (Word-based approaches)
Hướng tiếp cận dựa trên từ với mục tiêu tách được các từ hoàn chỉnh trong câu.
5
Hybrid
Hybrid
Vietnamese
segmentation
Vietnamese
segmentation
Word-based
Word-based
Character-based
Character-based
Statistic
Statistic

Dictionary
Dictionary
N-gram
N-gram
Unigram
Unigram
Full word/ Phrase
Full word/ Phrase
Component
Component
Shortest Match
Shortest Match
Overlap Match
Overlap Match
Longest Match
Longest Match
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Hướng tiếp cận này có thể chia ra theo 3 hướng : dựa trên thống kê (statistics - based),
dựa trên từ điển ( dictionary – based) và hydrid ( kết hợp nhiều phương pháp).
• Hướng tiếp cận dựa trên thống kê (statistic-based): dựa trên các thông
tin như tần số xuất hiện của từ trong tập huấn luyện ban đầu.
• Hướng tiếp cận dựa trên từ điển (dictionary- based): ý tưởng của
hướng tiếp cận này là những cụm từ được tách rat ừ văn bản phải được
so khớp với các từ trong từ điển.
Tùy thuộc vào loại từ điển sử dụng để so khớp lại có 2 hướng tiếp cận :
full word/ pharse và component. Trong đó full word/ pharse cần sử
dụng một từ điển hoàn chỉnh. Còn component thì sử dụng từ điển
thành phần.
Tùy theo cách chọn so khớp từ (match) hướng tiếp cận ‘full word/
pharse’ có thể chia ra làm 3 loại: so khớp dài nhất (longest match), so

khớp ngắn nhất (shortest match) và so khớp kết hợp (overlap). Trong
so khớp kết hợp mỗi chuỗi được phát sinh từ văn bản có thể chồng lấp
lên chuỗi khác nếu chuỗi đó có trong từ điển.
Hiện nay thì hướng tiếp cận so khớp dài nhất được xem là phương
pháp quan trọng và có hiệu quả nhất trong hướng tiếp cận dựa trên từ
điển.
• Hướng tiếp cận hybrid: Với mục đích kết hợp các hướng tiếp cận khác
nhau để thừa hưởng được các ưu điểm của nhiều kỹ thuật và các hướng
tiếp cận khác nhau nhằm nâng cao kết qủa . Hướng tiếp cận này
thường kết hợp giữa hướng dựa trên thống kê và dựa trên từ điển nhằm
tận dụng các mặt mạnh của các phương pháp này . Tuy nhiên hướng
tiếp cận Hybrid lại mất nhiều thời gian xử lý , không gian đĩa và đòi
hỏi nhiều chi phí.
II.2. Hướng tiếp cận dựa trên kí tự
Trong tiếng việt, hình vị nhỏ nhất là “tiếng” được hình thành bởi nhiều ký tự trong
bảng chữ cái . Hướng tiếp cận này đơn thuần rút trích ra một số lượng nhất định các
tiếng trong văn bản như rút trích từ 1 ký tự (unigram) hay nhiều ký tự (n-gram) và
cũng mang lại một số kết qủa nhất định được minh chứng thông qua một số công trình
nghiên cứu đã được công bố , như của tác giả Lê An Hà [2003] xây dựng tập ngữ liệu
thô 10MB bằng cách sử dụng phương pháp qui hoạch động để cựa đại hóa xác suất
xuất hiện của các ngữ.Rồi công trình nghiên cứu của H. Nguyễn[2005] làm theo
hướng tiếp cận là thay vì sử dụng ngữ liệu thô , công trình tiếp cận theo hướng xem
Internet như một kho ngữ liệu khổng lồ , sau đó tiến hành thống kê và sử dụng thuật
giải di truyền để tìm cách tách từ tối ưu nhất , và một số công trình của một số tác giả
khác.Khi so sánh kết qủa của tác giả Lê An Hà và H.Nguyễnt thì thấy công trình của
H.Nguyễn cho được kết qủa tốt hơn khi tiến hành tách từ , tuy nhiên thời gian xử lý
lâu 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 , dễ
ứng dụng , ngoài ra còn có thuận lợi là ít tốn chi phí cho thao tác tạo chỉ mục và xử lý
nhiều câu truy vấn.Qua nhiều công trình nghiên cứu của các tác giả đã được công bố ,
hướng tiếp cận tách từ dựa trên nhiều ký tự , cụ thể là cách tách từ hai ký tự được cho

là sự lựa chọn thích hợp.
6
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
3. Một số phương pháp tách từ tiếng Việt hiện nay
3.1. So khớp từ dài nhất (Longest Matching)
Longest Matching là thuật toán dựa trên tử tưởng tham lam. Nó xét các tiếng từ trái
qua phải, các tiếng đầu tiên dài nhất có thể mà xuất hiện trong từ điển sẽ được tách ra
làm một từ. Thuật toán sẽ dừng khi xét hết các tiếng. Thuật toán chỉ đúng khi không có
sự nhập nhằng những tiếng đầu của tù sau có thể ghép với từ trước tạo thành một từ có
trong từ điển.
Giải thuật:
V là danh sách các tiếng chưa xét.
T là bộ từ điển.
While V≠⍉ do
Begin
W
max
= từ đầu danh sách V; // từ dài nhất
Foreach (v thuộc từ gồm các tiếng bắt đầu trong V)
If(length(v)> length(W
max
) and v thuộc T) then W
max
= v;
Loại đi các tiếng trong W
max
ở đầu danh sách V;
End.
Ví dụ : Tôi là sinh viên trường đại học Bách Khoa Hà Nội
Bước Từ dài nhất có thể Các tiếng còn lại

1 Tôi là sinh viên trường đại học Bách Khoa Hà Nội
2 Là sinh viên trường đại học Bách Khoa Hà Nội
3 Sinh viên trường đại học Bách Khoa Hà Nội
4 Trường đại học Bách Khoa Hà Nội
5 Đại học Bách Khoa Hà Nội
6 Bách Khoa Hà Nội
7 Hà Nội
Ưu điểm:
- Tách từ nhanh đơn giản chỉ cần dựa vào từ điển.
- Độ chính xác tương đối cao.
Hạn chế:
- Độ chính xác phụ thuộc vào hoàn toàn vào tính đầy đủ và chính xác của từ
điển.
- Phương pháp này sẽ không đạt được kết quả nếu chuối từ trước có liên hệ với
các từ sau. Ví dụ : một ông quan tài giỏi => một ||ông|| quan tài|| giỏi.
3.2. Học dựa trên sự cải biến (Transformation-based Learning -TBL)
Đây là cách tiếp cận dựa trên ngữ liệu đã đánh dấu. Theo cách tiếp cận này, để
huấn luyện cho máy tính biết cách nhận diện ranh giới từ tiếng Việt, ta có thể cho
máy “học” trên ngữ liệu hàng vạn câu tiếng Việt đã được đánh dấu ranh giới từ
7
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
đúng.
Sau khi học xong, máy sẽ xác định được các tham số (các xác suất) cần thiết cho
mô hình nhận diện từ.
Ưu điểm:
- Đặc điểm của phương pháp này là khả năng tự rút ra quy luật của ngôn ngữ.
- Nó có những ưu điểm của cách tiếp cận dựa trên luật nhưng nó khác phục được
khuyết điểm của việc xây dựng các luật một cách thủ công bởi các chuyên gia.
- Các luật được thử nghiệm tại chỗ để đánh giá độ chính xác và hiệu của luật
(dựa trên ngữ liệu huấn luyện).

- Có khả năng khử một số nhập nhằng của các mô hình ngôn ngữ theo kiểu thống
kê.
Hạn chế:
- Phương pháp này “dùng ngữ liệu có gán nhãn ngôn ngữ để học tự động các quy
luật đó”. Mà việc xây dựng một tập ngữ liệu đạt được đầy đủ các tiêu chí của
tập ngữ liệu trong tiếng Việt là điểu rất khó, tốn kém nhiều về mặt thời gian và
công sức.
- Hệ phải trải qua một thời gian huấn luyện khá lâu để có thể rút ra các luật
tương đối đầy đủ.
- Cài đặt phức tạp.
3.3. Chuyển đổi trạng thái trọng số hữu hạn (Weighted- Finite State Transducer- WFST)
Mô hình mạng chuyển dịch trạng thái hữu hạn có trọng số WFST đã được đề
xuất năm 1996. Ý tưởng cơ bản là áp dụng WFST kết hợp với trọng số là xác suất
xuất hiện của mỗi từ trong ngữ liệu. Dùng WFST để duyệt qua câu cần xét. Cách
duyệt có trọng số lớn nhất sẽ là cách tách từ được chọn. Phương pháp này cũng đã
được sử dụng trong công trình đã được công bố của tác giả Đinh Điền [2001] , tác
giả đã sử dụng WFST kèm với mạng Neural để khử nhập nhằng khi tách từ , trong
công trình tác giả đã xây dựng hệ thống tách từ gồm tầng WFST để tách từ và xử lý
các vấn đề liên quan đến một số đặc thù riêng của ngôn ngữ tiếng Việt như từ láy ,
tên riêng , và tầng mạng Neural dùng để khử nhập nhằng về ngữ nghĩa sau khi đã
tách từ (nếu có).
Sơ đồ các bước sử lý của WFST
 Tầng WFST: gồm 3 bước
 Xây dựng từ điển trọng số: theo mô hình WFST, việc phân đoạn từ được xem như
một sự chuyển dịch trạng thái có xác suất (Stochastic Transduction). Chúng ta mien tả
từ điển D là một đồ thị biến độ trạng thái hữu hạn có trọng số. Giả sử:
- H: là tập các từ chính tả tiếng Viêt (còn gọi là “tiếng”)
- P: là từ loại của từ (POS: part - Of – Speech).
Mỗi cung của D có thể là:
- Từ một phần từ của H tới một phần từ của H, hoặc

- Từ З (ký hiệu kết thúc từ) tới một phần từ của P
Các nhãn trong D biểu thị một chi phí ước lượng (estimated
cost) bằng công thức:
8
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Cost = - log(f/N)
- Với f: tần số của từ, N: kích thước tập mẫu
Đối với các trường hợp từ mới chưa gặp, tác giả áp dụng xác
suất có điều kiện Goog – Turning (Baayen) để tính toán
trọng số.
 Xây dụng khả năng phân đoạn từ: để giảm bớt sự bùng nổ
tổ hợp khi sinh ra các dãy các từ có thể từ một dãy các
tiếng trong câu, tác giả đề xuất một phương pháp mới là
kết hợp dùng từ điển để hạn chế sinh ra các bùng nổ tổ
hợp. Khi phát hiện thấy một cách phân đoạn từ nào đó
không phù hợp (không có trong từ điển, không phải là từ
láy, không phải là danh từ riêng…) thì tác giả loại bỏ các
nhánh xuất phát từ cách phân đoạn từ đó.
 Lựa chon khả năng phân đoạn từ tối ưu: Sau k hi được
một danh sách các cách phân đoạn từ có thể có của câu,
tác giả chọn trường hợp phân đoạn có trọng số bé nhất
như sau:
- Ví dụ: input = “Tốc độ truyền thong tin sẽ cao”
• Dictionary “tốc độ” 8.68
“truyền” 12.31
“truyền thông” 12.31
“thông tin” 7.24
“tin” 7.33
“sẽ” 6.09
“tăng” 7.43

“cao” 6.95
Id(D)*D* = “Tốc độ # truyền thông # tin # sẽ # tăng # cao” 48.79
(8.68 + 12.31 +7.33 +6.09 + 7.43 + 6.95 = 48.79)
Id(D)*D* = “ Tốc độ # truyền # thông tin # sẽ # tăng# cao.” 48.70
(8.68 + 12.31 +7.24 +6.09 + 7.43 + 6.95 = 48.70)
Do đó, ta có được phân đoạn tối ưu là “Tốc độ # truyền # thông tin # sẽ # tăng # cao.”
 Tầng mạng neural: mô hình mạng neural mà tác giả đề xuất được dùng để lượng giá 3
dãy từ loại: NNV,NVN, VNN (N: Noun, V: Verb). Mô hình này được học bằng chính
các câu mà cách phân đoạn từ vẫn còn nhập nhằng sau khi qua mô hình thứ nhất
Ưu điểm
- Độ chính xác trên 97% [Đinh Điền et al, 2001]
- Mô hình cho kết quả phân đoạn từ với độ tin cậy (xác suất) kèm theo
- Nhờ có tầng mạng neural nên mô hình có thể khử nhập nhằng các trường hợp tần
WFST cho ra nhiều ứng viên có kết quả ngang nhau
9
Bắt đầu
Bắt đầu
Tiền xử lý
Tiền xử lý
Tiền xử lý
Tiền xử lý
Tiền xử lý
Tiền xử lý
t<T
0
t<T
0
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
- Phương pháp này cho kết quả với độ chính xác khá cao vì mục đích của tác giả muốn
nhắm đến việc tách từ thật chính xác để là nền tảng cho việc dịch máy

Hạn chế
- Cũng tương tự như phương pháp TBL, việc xây dụng tập ngữ liệu là rất công phu,
nhưng thật sự cần rất cần thiết để phục vụ cho mục đích dịch máy sau này.
3.4. Phương pháp tách từ dựa trên thống kê từ trên Internet và giải thuật di truyền.(Internet
and Genetics Algorithm-based Text Categorization for Documents in Vietnamese -
IGATEC)
Phương pháp tách tách từ tiếng Việt dựa trên thống kê từ Internet và thuật giải
di truyền – IGATEC (Internet and Genetics Algorithm based Text Categorization for
Documents in Vietnamese) do H. Nguyễn đề xuất năm 2005 như một hướng tiếp cận
mới trong tách từ với 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 ngữ liệu học nào . Trong hướng tiếp cận này , tác giả kết hợp giữa thuật toán
di truyền với dữ liệu thống kê được lấy từ Internet.
Hệ thống bao gồm :2 phần
a. Online Extractor : Thành phần này có tác dụng 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 hay
Yahoo chẳng hạn . Sau đó , tác giả sử dụng các công thức dưới đây để tính toán mức độ
phụ thuộc lẫn nhau (mutual information) để làm cơ sở tính fitness cho GA engine.
• Tính xác suất các từ xuất hiện trên Internet :
( )
MAX
)
w
2
&
w
1
count(
)
w
2

&
w
1
p(
MAX
count(w)
wp
=
=
10
segmentation
segmentation
Online Extractor
Online Extractor
segmentation
segmentation
segmentation
segmentation
segmentation
segmentation
Online Extractor
Online Extractor
Online Extractor
Online Extractor
Online Extractor
Online Extractor
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Trong đó MAX = 4 * 109
count(w) số lượng văn bản trên Internet được tìm thấy có chứa từ w hoặc cùng chứa w1
và w2 đối với count(w1&w2).

• Tính xác suất độ phụ thuộc của một từ lên một từ khác :

( )
w
1
p
)
w
2
&
w
1
p(
)
w
2
|
w
1
p(
=
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 ( cw = w1w2…wn)

( )

=

=
n

1j
)
w
n
& &
w
2
&
w
1
p(
w
j
p
)
w
n
& &
w
2
&
w
1
p(
MI(cw)
b. GA Engine for Text Segmentation : mỗi cá thể trong quan thể được biểu diễn bởi
chuỗi các bit 0,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 cho một segment. Các cá thể trong quần thể được khởi tạo
ngẫu nhiên , trong đó mỗi segment được giới hạn trong khoảng 5 . GA engine sau đó
thực hiện các bước đột biến và lai ghép nhằm mục đích làm tăng giá trị fitness của các

cá thể để đạt được cách tách từ tốt nhất có thể.
Uu điểm:
- Không cần sử dụng bất cứ tập huấn luyện hoặc từ điển nào.
- Phương pháp tương đối đơn giản.
- Không tốn thời gian huấn luyện.
Hạn chế:
- So với các phương pháp trước, IGATEC có độ chính xác thấp hơn LRMM và WFST
nhưng vẫn được chấp nhận đố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ó thử nghiệm trên các tập dữ liệu đủ lớn.
3.5. Học máy sử dụng mô hình Markov ẩn (Hidden Markov Models-HMM)
Phương pháp tách từ dựa trên HMM và từ điển:
Áp dụng mô hình Markov ẩn ta có thể mô hình hóa để đưa bài toán tách từ về một mô
hình xác xuất dưới dạng một bài toán tối ưu. Tiếp đó, thuật toán quy hoạch động
Viterbi sẽ giải quyết bài toán tối ưu đó
- Trước hết ta sẽ đưa ra công thức để tính xác suất một phân hoạch.
Đây cũng chính là công thức đo độ tốt của một phân hoạch. Xác suất càng cao thì khả
11
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
năng đúng của phân hoạch đó càng lớn. Vì thế bài toán của ta đưa về bài toán tối ưu
cho hàm mục tiêu là hàm xác suất của phân hoạch.
- Ta ký hiện phân hoạch đang xét là W = W1 W¬2 W3 …Wm
- Hàm mục tiêu:
P(W) =П P(W1) = П P(Wi+j|W)
Trong đó: P(Wi): xác xuất của Wi
P(Wi + 1|Wi): Xác suất chuyển từ Wi sang Wi+1.
Các xác suất này được tính từ dữ liệu thu thập được, ở đây là các văn bản bằng tiếng
Việt. Nếu ta hướng đến bài toán tách từ tổng quát thì các văn bản này phải đảm bảo
không bị quá thiên lệch về một lĩnh vực nào. Tất nhiên tùy vào mục tiêu sử dụng

chương trình, nếu ta tập trung vào tách từ cho một lĩnh vực cụ thể thì khi thu thập dữ
liệu ta sẽ tập trung vào lĩnh vực đó.
Từ tưởng chính của thuật toán là phương pháp quy hoạch động:
Vòng lặp chính đi từ S1 tới S¬n tại mỗi vị trí it it a sẽ chỉ lưu lại các giá trị như sau:
Dựa trên tính chất Markov, ta nhận thấy các xuacs suất chuyển chỉ lien quan đến từ liền
trước từ hiện tại. Do đó tại vị trí it a chỉ quan tâm tới các vị trí j<=i sao cho (Wj…Wi)
là một từ điển trong từ điển. Mỗi vị trí j tương ứng với một từ có khả năng là từ cuối
cùng của đoạn đầu từ S1 đến Si.
Ví dụ : ta đang xét đến i=2 trong câu “ học sinh học sinh học”
I=2 thì có 2 giá trị j tương ứng là : j=1 => từ cuối cùng là: “ học sinh”
J=2 => từ cuối cùng là “sinh”
Rõ ràng là với cách phân hoạch i đầu tiên mà kết thúc bở cùng một từ ( cũng xét một
giá trị j thì tà chỉ cần lưu lại phân hoạch tối ưu nhất.
Như vậy trong ví dụ trên tại vị trí i=2 ta chỉ cần lưu lại trong bảng quy hoạch động các
thông tin như sau:
- ứng với i=2 và j=1 từ cuối cùng là “học sinh” có xác suất cực đại là bao nhiêu
- ứng với i=2 và j=2 từ cuối cùng là “sinh” thì xác suất cực đại là bao bao nhiêu
Việc tính toán các xác suất tại i sẽ dựa trên các giá trị đã tính được tại các vị trí j-1. Các
xác suất chuyển và xác suất của từ đều đã biết
Đánh giá phương pháp
- Phương pháp tách từ tiếng Việt dựa trên mô hình Markov ẩn và từ điển là một phương
pháp xác suất. Thực tế cho thấy đây là một phương pháp hiệu quả hơn so với
LongestWins (dài nhất thắng) và Maximal Matching (so khớp với cực đại hay còn gọi
là ít từ nhất). Nguyên nhân là do phương pháp này đã dựa trên mô hình xác suất phù
hợp với thực tế của ngôn ngữ do đó tân dụng được các thông tin thống kê, thông tin xác
suất hỗ trợ cho quá trình tách từ.
- Mặt khác, phương pháp này vẫn không giải quyết được sự nhập nhằng về ngữ nghĩa
do không xét tới ngữ cảnh.
4. Kết luận
Sau khi xem xét một số hướng tiếp cận trong tách từ văn bản tiếng Việt , các nghiên

cứu đã được công bố đều chỉ ra rằng phương pháp tách từ dựa trên từ mang lại kết qủa
có độ chính xác khá cao , điều này có được nhờ vào tập huấn luyện lớn , được đánh dấu
12
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
ranh giới giữa các từ chính xác giúp cho việc học để rút ra các luật để tách từ cho các
văn bản khác được tốt đẹp , tuy nhiên chúng ta cũng dễ nhận thấy hiệu suất của phương
pháp hoàn toàn phụ thuộc vào tập ngữ liệu huấn luyện. Do đó để khắc phục sự
phụ thuộc của từ điển, chúng ta đề nghị sử dụng hướng tiếp cận của H.Nguyễn (sẽ được
trình bày chi tiết trong phần sau ) để tách từ .
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 hiện tương
đối nhanh , tuy nhiên lại cho kết qủa không chính xác bằng hướng tiếp cận dựa trên từ .
Hướng tiếp cận này nói chung phù hợp cho các ứng dụng không cần độ chính xác tuyệt
đối trong tách từ văn bản như ứng dụng lọc spam mail , firewall ,…Nhìn chung với
hướng tiếp cận này nếu chúng ta có thể cải tiến để nâng cao độ chính xác trong tách từ
thì hướng tiếp cận này là hoàn toàn khả thi và có khả năng thay thế hướng tiếp cận tách
từ dựa trên từ vì đã không phải xây dựng kho ngữ liệu , một công việc đòi hỏi nhiều
công sức , thời gian và sự hỗ trợ của các chuyên gia trong các lĩnh vực khác nhau.
III. Giải thuật di truyền.
1. Tổng quan về giải thuật di truyền
Giải thuật di truyền là một kỹ thuật của khoa học máy tính nhằm tìm kiếm giải
pháp thích hợp cho các bài toán tối ưu tổ hợp (combinatorial optimization). Giải thuật
di truyền là một phân ngành của giải thuật tiến hóa vận dụng các nguyên lý của tiến
hóa như di truyền, đột biến, chọn lọc tự nhiên, và trao đổi chéo.
Giải thuật di truyền thường được ứng dụng nhằm sử dụng ngôn ngữ máy tính để
mô phỏng quá trình tiến hoá của một tập hợp những đại diện trừu tượng (gọi là những
nhiễm sắc thể) của các giải pháp có thể (gọi là những cá thể) cho bài toán tối ưu hóa
vấn đề. Tập hợp này sẽ tiến triển theo hướng chọn lọc những giải pháp tốt hơn.
Thông thường, những giải pháp được thể hiện dưới dạng nhị phân với những
chuỗi 0 và 1, nhưng lại mang nhiều thông tin mã hóa khác nhau. Quá trình tiến hóa
xảy ra từ một tập hợp những cá thể hoàn toàn ngẫu nhiên ở tất cả các thế hệ. Trong

từng thế hệ, tính thích nghi của tập hợp này được ước lượng, nhiều cá thể được chọn
lọc định hướng từ tập hợp hiện thời (dựa vào thể trạng), được sửa đổi (bằng đột biến
hoặc tổ hợp lại) để hình thành một tập hợp mới. Tập hợp này sẽ tiếp tục được chọn
lọc lặp đi lặp lại trong các thế hệ kế tiếp của giải thuật.
2. Cơ sở lý thuyết
Thuật toán di truyền gồm có bốn quy luật cơ bản là lai ghép, đột biến, sinh sản và
chọn
lọc tự nhiên như sau:
• Quá trình lai ghép (phép lai)
- Quá trình này diễn ra bằng cách ghép một hay nhiều đoạn gen từ hai nhiễm sắc thể
cha-mẹ để hình thành nhiễm sắc thể mới mang đặc tính của cả cha lẫn mẹ. Phép lai
này có thể
mô tả như sau:
- Chọn ngẫu nhiên hai hay nhiều cá thể trong quần thể. Giả sử chuỗi nhiễm sắc thể của
13
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
cha và mẹ đều có chiều dài là m.
- Tìm điểm lai bằng cách tạo ngẫu nhiên một con số từ 1 đến m-1. Như vậy, điểm lai
này
sẽ chia hai chuỗi nhiễm sắc thể cha-mẹ thành hai nhóm nhiễm sắc thể con là m1 và
m2. Hai
chuỗi nhiễm sắc thể con lúc này sẽ là m11+m22 và m21+m12.
- Đưa hai chuỗi nhiễm sắc thể con vào quần thể để tiếp tục tham gia quá trình tiến hóa
• Quá trình đột biến (phép đột biến)
- Quá trình tiến hóa được gọi là quá trình đột biến khi một hoặc một số tính trạng của
con không được thừa hưởng từ hai chuỗi nhiễm sắc thể cha-mẹ. Phép đột biến xảy ra
với xác
suất thấp hơn rất nhiều lần so với xác suất xảy ra phép lai. Phép đột biến có thể mô tả
như sau:
- Chọn ngẫu nhiên một số k từ khoảng 1 ≥ k ≥ m

- Thay đổi giá trị của gen thứ k
- Đưa nhiễm sắc thể con vào quần thể để tham gia quá trình tiến hóa tiếp theo
• Quá trình sinh sản và chọn lọc (phép tái sinh và phép chọn)
- Phép tái sinh: là quá trình các cá thể được sao chép dựa trên độ thích nghi của nó. Độ
thích nghi là một hàm được gán các giá trị thực cho các cá thể trong quần thể của nó.
Phép tái
sinh có thể mô phỏng như sau:
- Tính độ thích nghi của từng cá thể trong quần thể, lập bảng cộng dồn các giá trị thích
nghi đó (theo thứ tự gán cho từng cá thể) ta được tổng độ thích nghi. Giả sử quần thể
có n cá
thể. Gọi độ thích nghi của cá thể thứ i là Fi, tổng dồn thứ i là Ft.Tổng độ thích nghi là
Fm .
- Tạo số ngẫu nhiên F có giá trị trong đoạn từ 0 đến Fm
- Chọn cá thể k đầu tiên thỏa mãn F ≥ Ft đưa vào quần thể của thế hệ mới.
- Phép chọn: là quá trình loại bỏ các cá thể xấu và để lại những cá thể tốt. Phép chọn
được mô tả như sau:
+ Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần
+ Loại bỏ các cá thể cuối dãy, chỉ để lại n cá thể tốt nhất.
14
XỬ LÝ NGÔN NGỮ TỰ NHIÊN

Cấu trúc thuật giải di truyền tổng quát
Bắt đầu
t =0;
Khởi tạo P(t)
Tính độ thích nghi cho các cá thể thuộc P(t);
Khi (điều kiện dừng chưa thỏa) lặp
t=t+1;
Chọn lọc P(t)
Lai P(t)

Đột biến P(t)
Hết lặp
Kết thúc.
IV. Phương pháp tách từ dựa trên thống kê Internet theo hướng tiếp
cận của giải thuật di truyền (IGATEC)
1. Nghiên cứu thống kê dựa trên Internet.
Chúng ta đều biết rằng Internet là kho dữ liệu vô tận, do vậy việc khai thác thông tin
15
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
trên đó không thể thực hiện thủ công mà chúng ta cần thông qua sự hỗ trợ của một công
cụ tìm kiếm- và Google là lựa chọn số 1 về chất lượng và tốt độ. Và điều đó càng được
chứng minh cụ thể khi có ngày càng nhiều công trình nghiên cứu về thống kê trên
Inrternet dựa vào công cụ tìm kiếm Google.
Dựa trên nhận xét của Rudi& Paul(2005) tỉ lệ xuất hiện của từ trên Internet là khá ổn
đinh, điều này cho phép ta thực hiện các tính toán chính xác và ổn định vì ít phụ thuộc
vào số lượng trang web trên Internet tăng lên theo thời gian.
Hiện nay các công trình nghiên cứu theo hướng tiếp cận mới này chủ yếu được thực
hiện trên tiếng Anh, còn đối với tiếng Việt thì có thể nói IGATEC (Internet and Genetics
Algorithm-based Text Categorization for Documents in Vietnamese) là công trình đầu
tiên áp dụng phương pháp này nhưng đã đạt được những kết quả rất đáng quan tâm.
2. Phương pháp tách từ dựa trên thống kê Internet theo hướng tiếp cận của
giải thuật di truyền(IGATEC)
Như đã trình bày ở trên, hệ thống tách từ theo phương pháp IGATEC được chia làm 2
phần
 Online Extractor : Thành phần này có tác dụng 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 hay
Yahoo chẳng hạn . Sau đó , tác giả sử dụng các công thức dưới đây để tính toán mức
độ phụ thuộc lẫn nhau (mutual information) để làm cơ sở tính fitness cho GA engine.
 GA Engine for Text Segmentation : mỗi cá thể trong quan thể được biểu diễn bởi
chuỗi các bit 0,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 cho một segment. Các cá thể trong quần thể được khởi tạo
ngẫu nhiên , trong đó mỗi segment được giới hạn trong khoảng 5 . GA engine sau đó
thực hiện các bước đột biến và lai ghép nhằm mục đích làm tăng giá trị fitness của các
cá thể để đạt được cách tách từ tốt nhất có thể.
2.1.Công cụ trích xuất thông tin từ Google
Chúng ta chọn Google là công cụ tìm kiếm bởi những ưu thế về tính nhanh chóng, chính
xác và phổ biến của nó so với các công cụ tìm kiếm khác.
Nhiệm vụ của công cụ trích xuất thông tin từ Google sẽ lấy thông tin về:
- Tần số xuất hiện của các văn bản chứa từ (document frequency) trên các trang web để
thực hiện tính toán theo công thức MI, dự đoán khả năng tồn tại của một từ.
- Tần số các văn bản chứ từ với từ khóa đại diện cho chủ để dùng để tính mức độ liên
quan của từ với các loại chủ đề cần phân loại.
Các công thức tính xác suất và độ tương hỗ
2.1.1. Các công thức tính xác suất
Dựa vào nền tảng của các công trình nghiên cứu thống kê trên Internet của Rudi và
Paul (2005).
Các công thức tính xác suất từ xuất hiện trên Internet.
 Gọi count(w) là số lượng trang web chứ từ w;
count(w
1
&w
2
) là số trang web chứa đồng thời w
1
&w
2


16
XỬ LÝ NGÔN NGỮ TỰ NHIÊN

Trong đó Max=4*10
9
;
2.1.2. Các công thức tính độ tương hỗ (Mutual Information-MI)
Độ tương hỗ MI cho biết thông tin phụ thuộc lẫn nhau của các từ ghép được cấu tạo
bởi n tiếng (Cw=w1w2…wn) .Đối với mỗi từ một tiếng ta quy ước MI=p(w). Đối với
từ 2 tiếng trở lên chúng ta có thể sử dụng:
 Theo cách tính của H.Nguyen (2005).
( )

=

=
n
1j
)
w
n
& &
w
2
&
w
1
p(
w
j
p
)
w

n
& &
w
2
&
w
1
p(
MI(cw)
 Hoặc sử dụng công thức MI cải tiến như sau :
 Giả sử ta có:
- cw=p(w
1
&w
2
&w
n-1
)
- Với n chẵn:
lw=p(w
1
&w
2
&w
n/2
),rw=p(w
n/2+1
&w
n/2+2
&w

n
).
- Với n lẻ
lw=p(w
1
&w
2
&w
n-1
),rw=p(w
2
&w
3
&w
n
).
 MI(cw)=
2.2.Công cụ tách từ dùng thuật toán di truyền (Genetic Alogorith)
Mục đích của chúng ta là tìm ra các cách tách từ hợp lý nhất cho văn bản, tuy nhiên
chúng ta gặp phải trở ngại là không gian tìm kiếm quá lớn do sự bùng nổ tổ hợp khi
sinh ra dãy các từ. Như chúng ta đều biết, thuật toán di truyền được biết đến với khả
năng duyệt tắt qua những không gian tìm kiếm lớn một cách hiệu quả và đưa ra những
giải pháp toàn cục tối ưu nhất. GA thực hiện tiến hóa một số thế hệ để tạo ra một quần
thể gồm những cá thể tối ưu nhờ vào các bước lai ghép(cross-over), đột
biến(multation), sinh sản(reproduction), và cách chọn lựa cá thể. Chất lượng của mỗi
cá thể được tính toán dựa trên chỉ số fitness cho mỗi cá thể và quần thể.
2.2.1. Khảo sát độ dài của “từ” trên từ điển.
Như chúng ta đã biết, thuật toán di truyền đòi hỏi phải có rất nhiều tham số cho các
bước thực hiện như số cá thể trong quần thể, số thế hệ tiến hóa, tỉ lệ lai ghép, tỉ lệ đột
biến… Do vậy, chất lượng của lựa chọn các tham số trên sẽ quyết định kết quả của

thuật toán di truyền. Chính vì tính chất quan trọng của các tham số nên việc lựa chọn
nên chúng ta cần một khảo sát nhỏ về số lượng từ tương ứng với chiều dài từ trên từ
điển thông dụng tại để làm cơ sở cho các tham số sau này.
Độ dài từ(tiếng) Tần số xuất hiện Tỉ lệ
1 8933 12.2
2 48995 67.1
3 5727 7.9
17
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
4 7040 9.7
>=5 2301 3.1
2.2.2. Khởi tạo quần thể
a. Biểu diễn cá thể :
Giả sử văn bản đầu vào t bao gồm n tiếng như sau : T=s1s2…sn .Mục đích của
qúa trình thực hiện thuật toán GA là tìm cách tách ra các từ có độ phù hợp cao nhất :
t=w1w2…wm với wk =si…sj ( 1 <= k <= m , 1 <= i,j <= n).
Sau đó mỗi cá thể trong quan thể được biểu diễn bởi chuỗi các bit 0,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 cho một segment.
Tác giả đã đưa ra ví dụ như sau :
Tôi Là Sinh Viên Trường Đại Học Bách Khoa Hà Nội
0 1 0 0 1 0 0 1 1 0 0
w1 w2 w3 w4 w5 w6 w7
b. Khởi tạo các tham số :
Trong bước này để cho GA chạy , chúng ta phải khởi tạo giá trị các tham số , bao gồm
: số thế hệ tiến hóa , kích thước quần thể , tỷ lệ lai ghép, … Qua nhiều lần thử sai , tác
giả đã đưa ra giá trị cho các tham số như sau :
Tham số Giá trị
Số thế hệ tiến hóa 100
Kích thước quần thể 50

Tỷ lệ lai ghép 95%
Tỷ lệ đột biến 5%
Top N cá thể được chọn 100
Tỷ lệ từ 1 tiếng (mono – gram) 10%
Tỷ lệ từ 2 tiếng (bi – gram) 70%
Tỷ lệ từ 3 tiếng (tri – gram) 10%
Tỷ lệ từ 4 tiếng (quad – gram) 10%
c. Khởi tạo cá thể :
Mục đích của thuật toán di truyền là thực hiện tiến hóa các cá thể qua các thế hệ nhằm
đạt đến độ hội tụ của chỉ số thích nghi . Ở đây , chúng ta thấy rằng , nếu cá thể được
khởi tạo ngẫu nhiên sẽ có độ thích nghi thấp , khi đó sẽ phải được tiến hóa qua nhiều
thế hệ để đạt được độ hội tụ cần thiết , tuy nhiên số thế hệ tiến hóa càng nhiều thì thời
gian tiêu tốn và chi phí tính toán càng cao .Do đó giải pháp tối ưu là khởi tạo một số
cá thể ban đầu gần với điểm hội tụ thì sẽ giúp giảm bớt số thế hệ tiến hóa .Có hai cách
khởi tạo cá thể: khởi tạo ngẫu nhiên và khởi tạo dựa trên phương pháp Maximum
Matching : Forward / Backward.
 Khởi tạo cá thể ngẫu nhiên:
18
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Đầu tiên, tất cả các từ ghép w
k
tạo ra có độ dài không quá 4. Tiếp theo khởi tạo
ngẫu nhiên các cá thể có số lượng từ tương ứng với tỉ lệ về độ dài ở từ trên, nhằm
tạo ra điểm xuất phát tốt cho quá trình thực hiện GA
Ví dụ: Giả sử ta có câu đầu vào: “Những con khủng long trong phim hoạt hình rất
đáng yêu”
Khởi tạo cá thể bằng phương pháp Maximum Matching : Forward / Backward
Phương pháp này có độ chính xác khá cao nên sử dụng để khởi tạo cá thể ban đầu là
phù hợp , vì như thế sẽ tạo ra được các các thể gần đúng nhất để giảm số lần tiến
hóa .Bên cạnh đó phương pháp cũng khá đơn giản vì thực hiện tuyến tính nên cũng có

thời gian tính toán thấp hơn các phương pháp khác.Sau khi khởi tạo xong ,quần thể sẽ
được tiến hóa qua các qúa trình lai ghép , đột biến , sinh sản.
2.2.3. Tiến hóa cá thể
a. Qúa trình lai ghép
Phương pháp lai ghép được tác giả thực hiện bằng cách dựa trên một điểm ngẫu nhiên
trong chuỗi các bit 0 , 1 của các cá thể . Khi có một cặp cá thể bố mẹ , thế hệ con được
tạo ra dựa trên sự kết hợp từ phần đầu tiên của bố với phần cuối của mẹ và ngược lại .
b. Qúa trình đột biến
Ý tưởng thực hiện đột biến được thực hiện bằng cách hoán chuyển vị trí của 2 bit liền
nhau tại một vị trí ngẫu nhiên , cách làm này thể hiện tính tự nhiên do là một tiếng nếu
kết hợp với tiếng trước nếu không phù hợp thì có thể kết hợp với từ đứng sau ( bit
đứng sau ) như thế sẽ tạo ra được các từ có ý nghĩa và loại bỏ các từ vô nghĩa nếu
ghép 2 bit ở 2 vị trí ngẫu nhiên trong câu.
19
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Ví dụ :
c. Qúa trình sinh sản
Sau khi đã lai ghép và đột biến chúng ta sẽ kết hợp các cá thể bố mẹ với cá thể con
vừa được tạo ra để phục vụ cho bước chọn cá thể . Sau khi kết hợp , chúng ta sẽ chọn lọc
các cá thể trong quần thể để đạt được nhiều kết qủa tách từ tốt .
Ví dụ :
`
d. Qúa trình chọn cá thể
Qúa trình chọn lựa cá thể là buớc rất quan trọng trong qúa trình tiến hóa , vì qúa trình
này sẽ chọn các cá thể tốt , chính việc chọn lựa này sẽ quyết định đến qúa trình tiến hóa
ở thế hệ tiếp theo , cũng như ảnh hưởng đến độ hội tụ trong thuật toán di truyền.Sau khi
chọn lựa , quần thể sẽ được sắp xếp theo giá trị của độ thích nghi giảm dần ,khi đó qúa
trình chọn lọc cá thể sẽ chọn N cá thể có độ thích nghi cao nhất để hình thành nên một
quần thể mới nhằm chuẩn bị cho qúa trình tiến hóa tiếp theo .
Cách thức lựa chọn cá thể thoả mãn điều kiện như sau :

( )

=
=

=
==
N
1i
)
id
i
fit(fit(pop)
m
1k
w
k
MI)
w
m

w
2
w
1
fit(fit(id)
Trong đó ,id =w1w2…wm là một cá thể trong quần thể.
20
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
e. Độ hội tụ

Quá trình thực hiện thuật toán GA cố gắng tăng độ thích nghi (fitness) của mỗi cá thể,
điều này cũng có nghĩa là tăng chất lượng của từ được từ . Và do đó ở mỗi thế hệ tiến
hóa , chỉ số thích nghi của quần thể sẽ tăng lên dần đến một ngưỡng hội tụ T . Khi đó sau
một quá trình tiến hóa độ chêng lệch giữa chỉ số thích nghi của hai cá thể trong quần thể
sẽ giảm dần và tiến dần về 0 hoặc đạt đến ngưỡng hội tụ T mà chúng ta đã chọn.
3. Kết luận
Phương pháp do tác giả H.Nguyễn đề xuất có ưu điểm là không cần sử dụng bất cứ
tập huấn luyện hoặc từ điển nào do đó không mất thời gian để huấn luyện.Phương pháp
tách từ cũng không phức tạp. Tuy nhiên khi so sánh với các phương pháp LRMM và
WFST đã được trình bày ở trên thì IGATEC có độ chính xác thấp hơn nhưng hoàn toàn
chấp nhận được, thời gian chạy ban đầu hơi chậm do phải lấy thông tin từ mạng Internet.
21
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
V. Tìm hiểu opensource Vntokenizer để tách từ trong văn bản tiếng
việt.
1. Giới thiệu chương trình
VnTokenizer là chương trình tách từ tiếng việt tự động. Việc nghiên cứu phát triển và cài đặt
chương trình được thực hiện bởi một nhóm giáo viên trẻ thuộc khoa toán cơ tin học, Trường
đại học khoa học từ nhiên, đại học Quốc gia Hà Nội thực hiện.
Phiên bản 4.0.0 của chương trình là sự phát triển tiếp theo của các phiên bản trên cơ
sở cải tiến và nâng cấp các tính năng, tối ưu khả năng kế thừa và mở rộng chương trình
cho các mục đích xử lý tiếng Việt về lâu dài. Tách đoan vị từ vựng tự động là bước tiền xử
lý không thể thiếu đối với hầu hết các lĩnh vực xử lý tự động ngôn ngữ tự nhiên.
2. Hướng dẫn chạy chương trình
Chương trình được viết bằng ngôn ngữ lập trình Java, sử dụng bộ công cụ phát triển
J2SDK 1.6 để chạy được chương trình, máy tính cần cài đặt JRE từ phiên bản 1.6, có thể tải về từ
trang web Java của Sun MicroSystem: http//java.sun.com và cài đặt. Chú ý là để chạy chương
trình chỉ cần cài JRE, không cần cài JDK
Chương trình được phân phối dưới 2 dạng: chương trình và chương trình nguồn, tương ứng với 2
tệp nén vnTokenizer-bin.zip và vnTokenizer-src.zip.

Với người sử dụng thông thường:
Đưa tiệp nén vnTokenizer-bin.zip vào một thư mục.
Để chạy chương trình, người sử dụng cần một tệp nén vnTokenizer.jar (chứa các mã thực thi) và
thư mục resource (chứa các tệp dữ liệu và cấu hình của chương trình)
Để tiện sử dụng, 2 tệp tiện ích tokenizer.sh và tokenizer.bat được cung cấp để chạy trong 2 hệ
điều hành phổ biến là Unix/Linux và MS Windows.
22
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
2.1.Dữ liệu
Trong một lần chạy vnTokenizer có thể tách từ một tệp hoặc đồng thời nhiều tệp nằm trong
cùng một thư mục.
1) Tách từ một tệp:
+) Dữ liệu cần cung cấp cho chương trình gồm 1 tệp văn bản tiếng Việt, dạng thô (ví
dụ như tệp README.txt này).
+) Kết quả: Một tệp văn bản kết quả tách từ được ghi dưới định dạng đơn giản hoặc
định dạng XML, tùy theo lựa chọn của người sử dụng .
2) Tách từ nhiều tệp nằm trong một thư mục:
+) Dữ liệu cần cung cấp gồm một thư mục chứa các tệp văn bản thô cần tách từ (thư
mục input) và một thư mục trống (thư mục output) để chứa kết quả tách từ.
+) Mặc định, chương trình sẽ tự động quét toàn bộ thư mục input và lọc ra tất cả các
tệp có đuôi là ".txt". Người sử dụng có thể thay đổi đuôi mặc định này thành đuôi bất kì, ví dụ
".seg" bằng tùy chọn -e của dòng lệnh
+) Kết quả: Tập các tệp kết quả tách từ trong thư mục output, các tệp này có cùng tên
với tệp input tương ứng, tức là tệp input/abc.txt sẽ có kết quả là tệp output/abc.txt.
2.2. Chạy chương trình
Tách từ một tệp:
vnTokenizer.sh -i <tệp-input> -o <tệp-output> [<các-tùy-chọn>]
Hai tùy chọn -i và -o là bắt buộc. Ngoài ra, người dùng có thể cung cấp các
tùy chọn không bắt buộc sau đây:
+) -xo : dùng định dạng XML để biểu diễn kết quả thay vì định dạng mặc định là văn

bản thô.
+) -nu : không sử dụng dấu gạch dưới (no underscore) khi ghi kết quả. Nếu tùy chọn
này được sử dụng thì trong kết quả, các âm tiết không được nối với nhau bằng ký tự
gạch dưới, mà bằng ký tự trắng.
+) -sd : sử dụng mô-đun tách câu trước khi thực hiện tách từ. Nếu tùy chọn này được sử
dụng thì trước tiên vnTokenizer thực hiện tách văn bản input thành một tập các câu, sau
đó thực hiện tách từ từng câu một.Mặc định thì mô-đun tách câu không được sử dụng,
vnTokenizer thực hiện tách từ trên toàn bộ văn bản.
Các tùy chọn này có thể được phối hợp đồng thời với nhau để cho ra kết quả mong
muốn.
Ví dụ:
a) vnTokenizer.sh -i samples/test0.txt -o samples/test0.tok.txt
Tách từ tệp samples/test0.txt và ghi kết quả vào tệp samples/test0.tok.txt
b) vnTokenizer.sh -i samples/test0.txt -o samples/test0.tok.xml -xo
Tương tự như a), tuy nhiên tệp kết quả samples/test0.tok.xml sẽ có định dạng XML
c) vnTokenizer.sh -i samples/test0.txt -o samples/test0.tok.txt -sd
Tương tự như a) và sử dụng mô-đun tách câu trước khi tách từ.
Tách từ một thư mục:
Ngoài các tùy chọn như ở trên, khi tách từ thư mục, chương trình cung cấp thêm tùy
chọn không bắt buộc
+) -e : chỉ định phần mở rộng của các tệp cần tách.
23
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
Ví dụ:
a) vnTokenizer.sh -i samples/input -o samples/output
Thực hiện tách từ tất cả các tệp samples/input/*.txt, ghi kết quả ra thư mục
samples/output.
b) vnTokenizer.sh -i samples/input -o samples/output -e .xyz
Thực hiện tách từ tất cả các tệp samples/input/*.xyz, ghi kết quả ra thư mục
samples/output.

Giao diện dòng lệnh
Kết quả
File input : 0.txt
File output output0.txt
24
XỬ LÝ NGÔN NGỮ TỰ NHIÊN
VI- Tài liệu tham khảo
1- Bài giảng xử lý ngôn ngữ tự nhiên- Lê Thanh Hương
2- IGATEC-H.Nguyen 2005
3-
4- A Novel Approach in Word Segmentation to Classify Vietnamese Documents
Using GA and Internet-Based Statistics- Nguyễn Thanh Hùng.
25

×