1
Ứng dụng xử lý ngôn ngữ tự nhiên trong hệ tìm kiếm thông tin trên
văn bản tiếng Việt
Giới Thiệu:
Trong các hệ thống tìm kiếm thông tin văn bản (Text Information Retrieval
System), tiến trình quan trọng nhất là tiến trình phân tích nội dung văn bản để xác
định tập chỉ mục (Index) biểu diễn tốt nhất nội dung của văn bản (tiến trình lập chỉ
mục - indexing). Để có thể phân tích và rút trích được các chỉ mục (index term /
term) tốt người ta thường ứng dụng các kết quả của lĩnh vực xử lý ngôn ngữ tự
nhiên vào tiến trình này.
Chỉ mục có thể là từ (word) hay là một cấu trúc phức tạp hơn như cụm danh từ
(noun phrase), khái niệm (concept) Vấn đề xác định chỉ mục cho văn bản tiếng
Việt phức tạp hơn đối với ngôn ngữ châu Âu do việc xác định giới hạn của một từ
(word segmentation) trong tiếng Việt không đơn giản là chỉ dựa vào các khoảng
trắng giữa chúng. Hơn nữa ngữ pháp tiếng Việt vẫn còn nhiều vấn đề tranh luận
giữa các nhà ngôn ngữ học nên cũng còn nhiều khó khăn trong việc tự động hóa
việc phân tích tiếng Việt.
Trong tiểu luận bài báo cáo này chúng tôi trình bày việc ứng dụng xử lý ngôn ngữ tự
nhiên vào hệ thống tìm kiếm thông tin nói chung, tiếp theo chúng tôi trình bày một
số đặc trưng của tiếng Việt dưới góc nhìn của lĩnh vực tìm kiếm thông tin. Cuối
2
cùng chúng tôi trình bày một số kết quả mà chúng tôi đã đạt được trong việc xác
định chỉ mục cho văn bản tiếng Việt. Bài báo cáo chia làm bốn phần, phần I "Giới
thiệu tổng quát về việc ứng dụng xử lý ngôn ngữ tự nhiên vào lĩnh vực tìm
kiếm thông tin". Phần II "Trình bày một số đặc trưng của tiếng Việt dưới góc
nhìn của lĩnh vực tìm kiếm thông tin". Phần III "Một số kêt quả đã đạt được
trong việc lập chỉ mục cho văn bản tiếng Việt dựa trên uni-gram, bi-gram, cụm
danh từ" và cuối cùng là "Phần kết luận".
I. Ứng dụng xử lý ngôn ngữ tự nhiên vào tìm kiếm thông tin
1.1 Giới thiệu tổng quan
Tìm kiếm thông tin (Information retrieval) là lĩnh vực nghiên cứu nhằm tìm ra các
nhiều lý do khác nhau. Đa số các hệ thống tìm kiếm thông tin văn bản vẫn dựa trên
các kỹ thuật đơn giản dẫn đến các kết quả chưa đáp ứng được mong đợi của người
4
sử dụng. Như chúng ta vẫn thường gặp khi sử dụng các công cụ tìm kiếm (search
engine) trên Internet. Phần lớn các hệ thống tìm kiếm đều vẫn đang dựa trên giả
định nếu một câu hỏi và một tài liệu có chứa một số từ (từ khoá) chung, thì tài liệu
là liên quan đến câu hỏi, và dĩ nhiên là nếu số từ chung càng nhiều thì độ liên quan
càng được cho là cao [1]. Để đánh giá độ liên quan giữa tài liệu và câu hỏi tốt hơn
là chỉ dựa vào số lượng từ chung, người ta đánh trọng số (weight) cho các từ để biểu
diễn mức độ quan trọng của từ trong tài liệu. Với giả định như vậy hệ thống không
thể cho một kết quả chính xác do chúng ta xem như đã biểu diễn tài liệu và câu hỏi
dưới dạng các tập hợp từ khoá độc lập nhau (được gọi là túi các từ khoá) và việc so
khớp là tiến hành so khớp cái ‘túi’ từ khóa này.
Cách biểu diễn đơn giản này không thể cho kết quả cao vì nếu nhìn dưới góc nhìn
của ngôn ngữ học nó đã không xử lý các biến thể về mặt ngôn ngữ học (linguistic
variation) của các từ như biến thể về hình thái học (morphological variation), biến
thể về từ vựng học (lexical variation), biến thể về ngữ nghĩa học (semantical
variation) và biến thể về cú pháp học (syntax variation).
1.2 Các biến thể ngôn ngữ học
Biến thể về hình thái học là các dạng khác nhau về mặt cấu trúc (nôm na là hình
dáng) của một từ như vẫn hay thấy trong các ngôn ngữ châu Âu. Ví dụ trong tiếng
Anh các từ computer, computerize, computers là các biến thể về hình thái học của từ
computer. Hệ thống sẽ cho kết quả không chính xác nếu đối xử với các biến thể này
như các từ độc lập nhau.
Biến thể về từ vựng học là các từ khác nhau mang cùng một nghĩa. Ví dụ như trong
tiếng Anh các từ: car, auto. Hệ thống sẽ không trả về các tài liệu có chứa từ auto mà
không chứa từ car khi câu hỏi chỉ chứa từ car.
Biến thể về ngữ nghĩa học là vấn đề một từ đa nghĩa tùy vào ngữ cảnh. Vi dụ như
khi chúng ta tìm từ ‘bands’ có thể chúng ta sẽ nhận được các tài liệu nói về ‘radio
frequency bands’ Biến thể về cú pháp học là các các kết hợp khác nhau về mặt cú
các cụm từ (phase based indexing) và kỹ thuật lập chỉ mục là các cấu trúc cây phân
tích được từ các mệnh đề. Các kỹ thuật lập chỉ mục dựa trên cụm từ nhằm tăng độ
chính xác của hệ thống. Với giả định rằng khi dùng các cụm từ như các chỉ mục
thay cho các từ đơn thì độ chính xác sẽ tăng do cụm từ biểu diễn chính xác hơn nội
dung của tài liệu. Các hệ thống tìm kiếm dựa trên chỉ mục là các cụm từ ngày càng
thu hút nhiều nhóm nghiên cứu và vấn đề làm thế nào để rút trích được các cụm từ
một cách tự động từ tài liệu trở thành vấn đề chính trong các hệ này. Các giải pháp
rút trích cụm từ thường dựa vào hai cách tiếp cận: tiếp cận dùng thông tin thống kê
tần suất đồng xuất hiện (co-occurrence) hay cách tiếp cận dựa vào tri thức về ngôn
ngữ học. Cách tiếp cận thứ hai đòi hỏi phải áp dụng nhiều kỹ thuật của lĩnh vực xử
lý ngôn ngữ tự nhiên.
Kỹ thuật lập chỉ mục cấu trúc dựa vào các cấu trúc cây có được từ việc phân tích các
mệnh đề trong câu của tài liệu và quá trình so khớp là so khớp các cấu trúc của câu
hỏi với các cấu trúc của tài liệu. Cách tiếp cận này không thu hút nhiều nhóm nghiên
cứu do độ phức tạp của việc phân tích mệnh đề để xây dựng cách cấu trúc cao
nhưng lại không tăng được hiệu năng của hệ thống tìm kiếm.
1.4 Hệ thống tra cứu thông tin ứng dụng xữ lý ngôn ngữ tự nhiên
Theo [1], quá trình lập chỉ mục của một hệ thống tìm kiếm thông tin có ứng dụng
các kỹ thuật xử lý ngôn ngữ tự nhiên phải bao gồm các chức năng như sau:
1. Xác định từ (tokenization/ word segmentation)
2. Xác định từ loại cho từ (Part-of-speech tagging)
3. Chuẩn hoá các biến thể về hình thái học của từ
4. Xác định các từ ghép
5. Chuẩn hoá các biến thể về từ vựng học và ngữ nghĩa học
6. Phân tích cú pháp
7. Chuẩn hoá các biến thể về cú pháp học
7
8. Đánh trọng số cho các biểu thức chỉ mục
Bước xác định từ thực hiện việc xác định các câu trong tài liệu và xác định các từ
trong câu. Đối với các ngôn ngữ châu Âu bước này có thể được cài đặt dựa vào các
phân biệt với các tiếng khác bằng một hay nhiều khoảng trắng. Ví dụ :
từ ‘học’ là một từ gồm một tiếng
từ ‘học sinh’ là một từ gồm hai tiếng
cụm từ ‘khoa học tự nhiên’ gồm 2 từ hay 4 tiếng
Chúng tôi đã sử dụng phương pháp học dựa vào các luật biến đổi (transformation
based learning) [3] để thực hiện công việc này và đạt được độ chính xác khoảng 80-
85%. Trong các hệ thống tìm kiếm thông tin văn bản trên các tiếng Châu âu, người
ta có thể đơn giản lấy xác định các từ nhờ vào các khoảng trắng phân cách từ và
chọn các từ đặc trưng cho nội dung văn bản (dựa vào tần suất xuất hiện của từ) làm
chỉ mục mà hiệu quả tìm kiếm vẫn chấp nhận được. Đối với tiếng Việt chúng ta
không thể làm tương tự bởi nếu chúng ta xác định từ chỉ dựa các khoảng trắng phân
cách thì chúng ta có thể chỉ nhận được các ‘tiếng’ vô nghĩa và do đó độ chính xác
của hệ thống sẽ rất thấp. Theo các nhà ngôn ngữ học thì tiếng Việt có đến 80% là
các từ 2 ‘tiếng’ [6]. Chúng tôi sẽ trình bày các kết quả thực nghiệm chứng minh điều
này ở phần sau.
Một đặc điểm của tiếng Việt là từ tiếng Việt không có biến thể về hình thái học do
đó công đoạn chuẩn hóa về hình thái học là không hiệu quả đối với tiếng Việt. Dĩ
nhiên tiếng Việt cũng có một số hình thức biến thể về hình thái học như trường hợp
thêm tiếng ‘sự’ trước một động từ để biến nó thành danh từ tương đương ví dụ như:
động từ ‘lựa chọn’ và danh từ ‘sự lựa chọn’ hay việc thêm tiếng ‘hóa’ sau một danh
từ để biến nó thành động từ tương đương như : danh từ ‘tin học’ và động từ ‘tin học
hóa’
9
2.2 Từ loại
Vấn đề xác định từ loại cho từ trong tiếng Việt phức tạp hơn các tiếng châu Âu do
chúng ta không thể dựa vào các đặc tính đặc biệt về hình thái học của từ để xác định
loại từ như ví dụ trong tiếng anh chúng ta có thể xác định ngay một từ là tính từ nếu
nó có phần cuối là ‘able’. Đối với tiếng Việt từ loại chỉ có thể xác định được tùy vào
ngữ cảnh. Vi dụ, chúng ta xem xét các câu sau:
1. Thành công của dự án đã tạo tiếng vang lớn
(topic) và tập các đánh giá sự liên quan giữa các tài liệu và các câu hỏi . Các tập dữ
liệu kiểm tra này thường được các tổ chức chuyên về các hệ thống tìm kiếm thông
tin như xây dựng (như TREC : Text REtrieval Conference), nhưng đối với tiếng
Việt hiện chưa có một tập dữ liệu kiểm tra như vậy. Do đó chúng tôi phải tự xây
dựng tập kiểm tra cho tiếng Việt Tập dữ liệu kiểm tra của chúng tôi gồm một tập
hợp 10.750 tài liệu (document) là các bài báo trích từ các báo Việt nam năm 2000,
kích thước 23Mbyte. Tập câu hỏi bao gồm 14 câu hỏi. Nhóm chúng tôi đã tiến hành
xây dựng tập dữ liệu đánh giá sự liên quan giữa các tài liệu và các câu hỏi theo cách
bán thủ công. Bước một chúng tôi sử dụng hệ tìm kiếm thông tin SMART (một hệ
thống nổi tiếng do Đại học Cornell phát triển ) để lập chỉ mục tập dữ liệu trên, tiếp
theo chúng tôi dùng SMART để tìm các tài liệu liên quan đến 14 câu hỏi đã chọn,
với mỗi câu hỏi chúng tôi chọn 20 tài liệu được hệ SMART trả về như là các tài liệu
có liên quan nhất đến câu hỏi. Bước hai chúng tôi tiến hành đánh giá lại một lần nữa
bằng thủ công trên 20 tài liệu này ứng với một câu hỏi để có một bảng đánh giá cuối
cùng. Như vậy tập dữ liệu kiểm tra mà chúng tôi sử dụng chưa phải là một tập kiểm
tra tốt nhưng chấp nhận được trong thời điểm hiện tại.
3.2 Các loại chỉ mục tiến hành thử nghiệm
Chúng tôi đã tiên hành thử nghiệm với chỉ mục là Uni-gram. Uni-gram là đơn vị
11
ngôn ngữ như ‘tiếng’ mà chúng tôi đã trình bày ở phần trên. Như chúng tôi cũng đã
nêu ở phần trên, ‘tiếng’ không phải là từ trong tiếng Việt và phần lớn từ tiếng Việt
là các tự gồm 2 ‘tiếng’, nên chúng tôi đã tiến hành thử nghiệm với các chỉ mục là
các bi-gram. Một bi-gram là một tổ hợp gồm 2 ‘tiếng’ liền nhau, cách làm này giúp
chúng tôi có một đánh giá sơ bộ khi chưa cần ứng dụng các xử lý ngôn ngữ học
phức tạp. Tiếp theo chúng tôi sử dụng một danh mục từ (lexicon) tiếng Việt gồm
30.000 từ để loại bỏ các bi-gram không có ý nghĩa. Chúng tôi cũng sử dụng hệ
SMART [4] cho các thử nghiệm này với cách đánh trọng số cho chỉ mục là ltc.
Chúng tôi cũng đã xây dựng một số module tiền xử lý dữ liệu để xác định các bi-
gram và nối chúng lại bằng dấu gạch dưới ( _ ) để SMART hiểu đây như một ‘từ’
duy nhất, cũng như việc kiểm tra một bi-gram có là một từ trong tiếng Việt không,
phải xem xét đó là tính phức tạp của các xử lý ngôn ngữ tự nhiên có thể làm chậm đi
tốc độ của hệ thống và hơn nữa bản thân độ chính xác của các xử lý này cũng còn
13
phải được tiếp tục nâng lên. Do đó, chúng ta nên tùy vào đòi hỏi của từng hệ thống
ứng dụng cụ thể để quyết nên áp dụng các xử lý ngôn ngữ tự nhiên đến mức độ nào.
Chúng tôi cũng đã trình bày một số đặc trưng của tiếng Việt dưới góc nhìn của
người làm hệ thống tìm kiếm thông tin và một số kết quả mà chúng tôi đã đạt được
trong việc thử nghiệm để chọn loại chỉ mục phù hợp cho tiếng Việt. Cho đến hiện
nay chúng tôi nhận thấy với chỉ mục là các bi-gram kết hợp với danh mục từ cho độ
chính xác cao nhất. Chúng tôi đang tiến hành thử nghiệm với các chỉ mục là các
cụm danh từ.
Tài liệu tham khảo
[1] A. Arampatzis et al,.(2000), “Linguistically Motivated Information Retrieval”.
Encylopedia of Library and Infoamation Science, Marcel Dekker, Inc., New York,
Basel.
[2] E. Brill. (1995), “Transformation-based error-driven learning and natural
language processing: A case study in part of speech tagging”. Computational
linguistique, 21(4):543-565.
[3] G. Salton and M.J. McGill. (1983), “Introduction to Modern Information
Retrieval”. McGraw-Hill, NewYork, New York
[4] Nguyễn Hữu Quỳnh. (2001), “Ngữ Pháp Tiếng Việt”, Nhà xuất bản từ điển bách
khoa.
[5] Nguyễn Kim Thản. (1997), “Nghiên cứu ngữ pháp tiếng Việt”. Nhà xuất bản
khoa học xã hội.
[6] W.A. Woods et al,. (2000), “Linguistique knowledge can improve information
retrieval”. In Sixth Annual Applied Natural Language Processing Conference,
pages 262-267.
14
PHẦN DEMO CHƯƠNG TRÌNH
"SMART"