từ loại tiếng Việt
Nhƣ ta đã biết, gán nhãn từ loại bằng phƣơng pháp có hƣớng dẫn đã có rất nhiều nghiên cứu, nhƣng phải sử dụng một kho ngữ liệu đã gán nhãn bằng tay trong khi đó các nhãn đƣợc sử dụng cho kho ngữ liệu chƣa đƣợc thống nhất giữa các nhà ngôn ngữ nên chƣa có một kho ngữ liệu chuẩn xây dựng kho ngữ liệu này rất tốn thời gian, tốn nhân lực và tiền của, vậy luận văn này
đề nhập nhằng tập nhãn tiếng Việt và tiết kiệm đƣợc thời gian cũng nhƣ tiền của để gán nhãn bằng tay kho ngữ liệu là sử dụng phƣơng pháp không hƣớng dẫn.
Nhƣ đã trình bày ở trên, thì gán nhãn từ loại bằng phƣơng pháp không hƣớng dẫn có 5 tiếp cận, nhƣng trong 5 tiếp cận đó thì tiếp cận theo hƣớng sử dụng kỹ thuật phân cụm là không hƣớng dẫn hoàn toàn, ta có thể xây dựng các loại từ loại dựa vào kỹ thuật phân cụm và có thể tạo sự khởi đầu gán nhãn cho văn bản của những ngôn ngữ mới, và một ƣu điểm nổi bật của phƣơng pháp này là không yêu cầu bất kỳ một lƣợng văn bản đã gán nhãn nào. Vì vậy sẽ tốn ít thời gian hơn, và giải quyết đƣợc việc xây dựng các loại từ loại mà vẫn còn chƣa thống nhất trong tiếng Việt, tất nhiên với phƣơng pháp nhƣ vậy sẽ có nhƣợc điểm là sẽ khó khăn với dữ liệu thƣa và từ nhập nhằng, và cho độ chính xác chƣa cao. Phƣơng pháp gán nhãn từ loại này dựa trên các thuộc tính chung của văn bản và không có kiến thức tiên nghiệm về những phạm trù ngữ pháp có sẵn (một tình huống xuất hiện thƣờng xuyên trên thực tế). Phƣơng pháp này đƣa ra sự nhập nhằng từ loại phổ biến của các từ là vấn đề khó giải quyết.
Nhƣ trên đã nghiên cứu phƣơng pháp cụm giải quyết bài toán gán nhãn từ loại và đã thực nghiệm cho tiếng Anh. Kết quả đạt đƣợc cho thấy rằng gán nhãn dựa trên véc tơ ngữ cảnh và từ loại có giới hạn ngữ cảnh là đạt độ chính xác cao nhất, nên trong đề xuất này ta sẽ tính toán độ tƣơng tự của hai từ theo véc tơ ngữ cảnh có giới hạn ngữ cảnh tự nhiên vì không có phụ thuộc ngữ pháp rõ giữa các từ và dấu trong câu nên ta làm nhƣ sau:
Bƣớc 1: loại bỏ các dấu trong câu cùng với các từ có tần suất xuất hiện thấp (dƣới 10 lần)
Tính véc tơ ngữ cảnh của một từ chứa số lần suất hiện của mỗi từ trong 250 từ xuất hiện nhiều nhất trong kho văn bản.
Ví dụ: a1, a2,...,a250 là 250 từ xuất hiện nhiều nhất trong kho văn bản Xét từ w:
a1: xuất hiện n1 lần bên phải a2: xuất hiện n2 lần bên phải ...
a250: xuất hiện n250 lần bên phải
(n1,n2,...n250) là véc tơ ngữ cảnh phải của từ Véc tơ ngữ cảnh trái tính tƣơng tự.
Vì vai trò cú pháp của một từ dựa trên:
- Các thuộc tính cú pháp các láng giềng của từ đó
- Các mối quan hệ cú pháp với các láng giềng này
Nên sau khi tính xong hai véc tơ ngữ cảnh trái và phải của một từ ta sẽ tính véc tơ ngữ cảnh của một từ w bằng cách ghép nối 4 véc tơ ngữ cảnh sau:
- Véc tơ ngữ cảnh phải của từ đứng trƣớc
- Véc tơ ngữ cảnh trái của từ w
- Véc tơ ngữ cảnh phải của từ w
- Véc tơ ngữ cảnh trái của từ theo sau
Cuối cùng đo độ tƣơng tự của hai từ ta sẽ sự dụng độ đo cosin để tính toán dựa vào các véc tơ ngữ cảnh đƣợc tính ở trên.
Bƣớc 3: Sử dụng thuật toán phân cụm để phân thành các nhóm dựa vào các độ đo đƣợc tính ở trên.
Vậy thứ tự để thực hiện gán nhãn sẽ nhƣ sau:
1. Tính toán tần số xuất hiện của mỗi từ trong kho ngữ liệu. Loại ra các
từ có tần suất xuất hiện quá nhiều. Tìm ra 250 từ xuất hiện nhiều nhất còn lại.
2. Tính toán các véc tơ ngữ cảnh trái và phải của một từ
3. Xây dựng một ma trận ngữ cảnh C nhƣ sau: Mỗi hàng của ma trận
gồm véc tơ ngữ cảnh của một từ w đƣợc kết nối từ 4 véc tơ ngữ cảnh (véc tơ ngữ cảnh phải của từ đứng trƣớc, véc tơ ngữ cảnh trái của từ w, véc tơ ngữ cảnh phải của từ w, véc tơ ngữ cảnh trái của từ theo sau)
4. Sử dụng giải pháp SVD để giảm số chiều ma trận C
5. Tính độ đo tƣơng tự của các từ dựa trên ma trận C đã giảm số chiều
sử dụng độ đo cosin
6. Phân cụm dựa vào độ đo đã tính ở trên sử dụng thuật toán phân cụm
mờ
7. Sau khi thực hiện phân cụm ta đã xây dựng đƣợc tập nhãn. Sử dụng
tập nhãn này để xây dựng một kho ngữ liệu gán nhãn bằng tay
8. Để thực hiện gán nhãn ta sẽ sử dụng mô hình Markov ẩn, và theo
nghiên cứu ở trên gán nhãn sử dụng mô hình Markov đạt độ chính xác cao khi kho ngữ liệu gán nhãn bằng tay nhỏ thì sẽ sử dụng huấn luyện ML để thực hiện.
Phần cuối này trình bày chi tiết giải thuật bƣớc 2
Giải thuật tính véc tơ ngữ cảnh trái (phải) của một từ:
Đầu vào: Các tệp văn bản đã được tách từ
Đầu ra: Véc tơ ngữ cảnh trái (phải) của các từ trong các tệp văn bản
Bƣớc 1: Lƣu lại tất cả các từ xuất hiện trong toàn bộ các tệp văn bản và số lần xuất hiện tƣơng ứng của mỗi từ.
Dùng 1 bảng băm(Hashing) để lưu trữ dữ liệu về các từ và số lần xuất hiện (tần suất) tương ứng của mỗi từ trong toàn bộ các tệp văn bản.
for mỗi tệp trong <tập hợp các tệp cần xử lý> Mở tệp, chuyển con trỏ đọc tệp đến dòng đầu tiên
while (tệp đang còn dữ liệu)
đọc dòng văn bản tại vị trí con trỏ.
for mỗi từ trong <dòng văn bản đọc được> if (từ tồn tại trong bảng băm) then
tăng giá trị lưu trữ tần suất của từ trong bảng băm lên 1 đơn vị
else
khởi tạo giá trị lưu trữ tần suất của từ trong bảng băm là 1
end if end for
chuyển con trỏ đọc tệp sang dòng tiếp theo. end while
end for
Bƣớc 2. Tìm 250 từ có tần suất xuất hiện cao nhất:
Duyệt toàn bộ bảng băm và đưa dữ liệu vào 1 mảng.Mỗi phần tử của mảng chứa 2 thuộc tính: từ và tần suất xuất hiện của từ.
Sắp xếp mảng theo thứ tự giảm dần tần suất xuất hiện của từ. Loại đi các phần tử xuất hiện quá nhiều, lấy 250 phần tử đầu tiên của mảng còn lại, các từ trong 250 phần tử của mảng chính là 250 từ có tần suất xuất hiện nhiều nhất.
Đưa 250 từ này vào một tập hợp topset
Bƣớc 3. Xây dựng dữ liệu trung gian
Đưa ra thêm 2 đối tượng lưu trữ dữ liệu mới như sau:
- 1 bảng băm chứa tất cả các từ bên trái từ đó và tần suất xuất hiện tương ứng (tạm gọi là bảng băm láng giềng trái).
- 1 bảng băm phải chứa tất cả các từ bên phải từ đó và tần suất xuất hiện tương ứng (tạm gọi là bảng băm láng giềng phải).
Lưu 250 từ và 250 bảng băm láng giềng trái tương ứng vào một bảng băm (tạm gọi là Tâp hợp bảng băm láng giềng trái).
Lưu 250 từ và 250 bảng băm láng giềng phải tương ứng vào một bảng băm (tạm gọi là Tập hợp bảng băm láng giềng phải).
Sau đây là giải thuật xây dựng Tập hợp bảng băm láng giềng trái và Tập hợp bảng băm láng giềng phải ....
Bước 1: Khởi tạo Tập hợp bảng băm láng giềng trái và Tập hợp bảng băm láng giềng phải.
Mỗi tập hợp bảng băm gồm 250 khóa (là các từ trong topSet) và dữ liệu tương ứng của mỗi khóa là 1 bảng băm trống.(ta sẽ cập nhật dữ liệu cho các bảng băm trống này để nó trở thành bảng băm láng giềng trái, bảng băm láng giềng phải)
Bước 2: Xây dựng Tập hợp bảng băm láng giềng trái và Tập hợp bảng băm láng giềng phải
For mỗi tệp trong <Tập hợp tệp dữ liệu cần xử lý> Mở tệp.
Đưa con trỏ đọc tệp vào dòng đầu tiên. Đọc dòng đầu tiên
Tách các từ trong dòng văn bản thành tập hợp các từ riêng lẻ.
for mỗi từ (word) trong <tập hợp các từ được tách> (Thường được cấu trúc thành dạng mảng để dễ truy cập dc từ bên trái và bên phải của 1 từ)
if (word nằm trong tập hợp 250 từ có tần suất xuất hiện cao nhất)
then
if (word có láng giềng trái) then
lấy bảng băm láng giềng trái của word
if (wordl đã tồn tại trong bảng băm láng giềng trái) then
tăng giá trị tần suất xuất hiện của wordl trong bảng băm láng giềng trái lên 1.
else
thêm phần tử wordl vào bảng băm, với dữ liệu về tần suất xuất hiện là 1
end if end if
if (word có láng giềng phải) then
lấy bảng băm láng giềng phải của word
lấy từ bên phải của word trong dòng văn bản là wordr.
if (wordr đã tồn tại trong bảng băm láng giềng phải) then
tăng giá trị tần suất xuất hiện của wordr trong bảng băm láng giềng phải lên 1.
else
thêm phần tử wordr vào bảng băm, với dữ liệu về tần suất xuất hiện là 1
end if end if end if end for
Di chuyển con trỏ đọc tệp đến dòng kể tiếp.
End for
Bƣớc 4: Tìm véc tơ ngữ cảnh trái của một từ (ngữ cảnh phải làm tƣơng tự)
/*Bây giờ ta đã có 2 đối tƣợng dữ liệu cần thiết tập hợp bảng băm láng giềng trái và Tập hợp bảng băm láng giềng phải
Với mỗi từ bất kỳ, giả sử là word, thuật toán tìm láng giềng trái nhƣ sau (Tƣơng tự đối với láng giềng phải) */
Khởi tạo dữ liệu ban đầu vector ngữ cảnh trái (là 1 vector 250 chiều có các phần tử đều là 0).
for mỗi từ (topWord) trong topSet
lấy bảng băm láng giềng phải của topWord trong Tập hợp bảng băm láng giềng phải.
lấy tần suất xuất hiện của word trong bảng băm láng giềng phải. if (tồn tại giá trị tần suất xuất hiện của word trong bảng băm láng giếng phải) then
gán giá trị tần suất lấy được cho phần tử tương ứng với trong vector ngữ cảnh trái của từ word.
end if end for
Đối tƣợng lƣu trữ dữ liệu ở đây là một bảng băm, kích thƣớc của bảng băm sẽ tỉ lệ thuận với số lƣợng từ khác nhau trong toàn bộ các tệp văn bản.
Vì thuật toán xử lý các tệp tuần tự, kích thƣớc tệp nhỏ và xử lý ngay khi đọc từng dòng trong mỗi tệp văn bản nên chƣơng trình không đòi hỏi phải có không gian bộ nhớ lớn để xử lý các tệp (ngoại trừ đối tƣợng bảng băm).
Ở chƣơng này luận văn đã đề xuất hƣớng giải quyết khó khăn trong vấn đề bộ từ loại cho bài toán gán nhãn từ loại tiếng Việt. Tiếp theo chúng ta sẽ tổng kết lại nội dung của toàn bộ luận văn và hƣớng phát triển của luận văn.
KẾT LUẬN
Những kết quả đã đạt đƣợc của luận văn:
Tổng quan về bài toán gán nhãn từ loại: luận văn đã trình bày đƣợc bài toán gán nhãn từ loại, trình bày và so sánh các hƣớng tiếp cận không có hƣớng dẫn và có hƣớng dẫn để giải quyết bài toán gán nhãn từ loại, để làm cơ sở nghiên cứu những tiếp cận đã đƣợc sử dụng để giải bài toán gán nhãn từ loại tiếng Anh, cũng nhƣ tiếng Việt trong thời gian vừa qua.
Tìm hiểu cơ sở toán học sử dụng trong các phƣơng pháp mà luận văn nghiên cứu đƣợc và trình bày: luận văn đã trình bày đƣợc các kiến thức cơ bản về xác suất thống kê, các mô hình nhƣ mô hình Markov ẩn cùng các bài toán của mô hình và các thuật toán đƣợc dùng để giải quyết các bài toán đó, ngoài ra luận văn còn trình bày những kiến thức cơ bản về kỹ thuật phân cụm nhƣ là định nghĩa các cách đo độ tƣơng tự cho từng loại đối tƣợng khác nhau, phƣơng pháp phân tích giá trị kỳ dị đƣợc sử dụng trong các tiếp cận giải bài toán gán nhãn từ loại cũng đƣợc trình bày. Từ những kiến thức này để chúng ta có thể hiểu đƣợc các phƣơng pháp đƣợc sử dụng để giải quyết bài toán.
Tìm hiểu các phƣơng pháp không có hƣớng dẫn cho bài toán gán nhãn từ loại tiếng Anh: Luận văn trình bày đƣợc hai phƣơng pháp không có hƣớng dẫn để giải quyết bài toán gán nhãn từ loại tiếng Anh. Đó là phƣơng pháp sử dụng kỹ thuật cực đại hóa kỳ vọng và kỹ thuật phân cụm. Phân tích đƣợc ƣu nhƣợc điểm của từng phƣơng pháp để từ đó có thể tìm ra đƣợc phƣơng pháp có thể áp dụng cho bài toán gán nhãn từ loại tiếng Việt.
Tìm hiều bài toán gán nhãn từ loại tiếng Việt: trình bày đƣợc các phƣơng pháp đã đƣợc sử dụng trong việc giải quyết bài toán gán nhãn từ loại tiếng Việt, tìm hiểu đƣợc những ƣu điểm và những hạn chế chƣa giải quyết đƣợc trong bài toán gán nhãn từ loại tiếng Việt, đồng thời sử dụng những kiến thức về những phƣơng pháp đã sử dụng để đƣa ra đề xuất giải quyết những hạn chế của bài toán gán nhãn tiếng Việt.
Hạn chế và hƣớng phát triển của luận văn:
Mặc dù luận văn đã tìm hiểu đƣợc một số phƣơng pháp học máy
không có hƣớng dẫn đã đƣợc sử dụng cho bài toán gán nhãn từ loại, đã tìm hiểu đƣợc những mặt còn hạn chế của bài toán gán nhãn từ loại tiếng Việt và đƣa ra đƣợc đề xuất để khắc phục hạn chế đó nhƣng vẫn chƣa thực hiện đƣợc thực nghiệm cụ thể cho đề xuất đó, đó là hạn chế của luận văn và đó cũng có thể coi là một trong hƣớng phát triển của luận văn là thực hiện một thực nghiệm dựa vào đề xuất để sử dụng kết quả đạt đƣợc góp phần vào việc giải quyết hạn chế của bài toán gán nhãn từ loại tiếng Việt.
Đƣợc sự hƣớng dẫn tận tình của giảng viên Nguyễn Thị Minh Huyền trong quá trình làm luận văn, sự giúp đỡ của các thầy cô giáo đã giảng dạy trong chƣơng trình đạo tạo thạc sĩ và các bạn đồng nghiệp trong suốt thời kì học tập, tôi đã hoàn thành chƣơng trình đào tạo của mình và bản luận văn này. Tôi rất mong nhận đƣợc sự góp ý của các thầy cô giáo trong hội đồng bảo vệ luận văn và những ngƣời quan tâm đến vấn đề này để có thể hoàn thiện hơn vốn kiến thức, trình độ của mình cũng nhƣ tiếp tục phát triển luận văn ở mức cao hơn. Tôi xin chân thành cảm ơn
TÀI LIỆU THAM KHẢO Tiếng Việt
[1] Nguyễn Quang Châu, Phan Thị Tƣơi, Cao Hoàng Trụ. Gán nhãn Từ
loại cho tiếng Việt dựa trên văn phong và tính toán xác suất, Tạp chí
phát triển KH&CN, Tập 9, số 2 năm 2006
[2] Nguyễn Thị Minh Huyền, Vũ Xuân Lƣơng, Lê Hồng Phƣơng. 2003.
“Sử dụng bộ gán nhãn từ loại xác suất QTAG cho văn bản tiếng Việt”, Báo cáo hội thảo ICT.rda
[3] Phan Xuân hiếu. 2009. Công cụ gán nhãn từ loại tiếng Việt dựa trên
Conditional Random Fields và Maximum Entropy
[4] Trần Thị Oanh. 2008. Mô hình tách từ, gán nhãn từ loại và hƣớng
tiếp cận tích hợp cho tiếng Việt. Luận văn cao học, trường Đại học
Công nghệ, Đại học Quốc gia Hà Nội.
[5] Lê Hoàng Quỳnh. 2009. So sánh một số phƣơng pháp học máy cho
bài toán gán nhãn từ loại tiếng Việt. Luận văn đại học, trường Đại
học Công nghệ, Đại học Quốc gia Hà Nội
Tiếng Anh
[6] Ankit K Srivastava. March 19, 2008. Unsupervised Approaches to
Part-of-Speech Tagging.
[7] A. Haghighi and D. Klein. 2006. Prototype-driven learning for
sequence Models. In Proceedings of HLT-NAACL.
[8] A. Clark. 2000. Inducing syntactic categories by context distribution
clustering. In Proceedings of the Conference on Natural Language
Learning (CONLL).
[9] E. Brill. 1995. Unsupervised learning of disambiguation rules for
part of speech tagging. In Proceedings of the 3rd Workshop on Very
[10] Cucerzan, S. and Yarowsky, D. 2002. Bootstrapping a Multilingual Part-of-Speech Tagger in One Person-day. In
Proceedings of the 6th Conference on Computational Natural
Language Learning, CoNLL.
[11] Dien Dinh and Kiem Hoang, 2003. POS-tagger for English-
Vietnamese bilingual corpus. HLT-NAACL Workshop on Building
and using parallel texts: data driven machine translation and beyond.
[12] Elworthy, D. 1994. Does Baum-Welch Re-estimation Help
Taggers? In Proceedings of the 4th ACL Conference on Applied
Natural Language Processing, ANLP.
[13] Goldwater, S. and Griffiths, T. 2007. A Fully Bayesian Approach
to Unsupervised Part-of-Speech Tagging. In Proceedings of the
Association for Computational Linguistics, ACL.
[14] Merialdo, B. 1994.Tagging English Text with a Probabilistic
Model. Computational Linguistics, 20(2): 155-171.