
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
Đồng Thị Bích Thủy#, Hồ Bảo Quốc#*
#Khoa Công Nghệ Thông Tin - Đại học khoa học tự nhiên TP. HCM
227 Nguyễn Văn Cừ - Q5 – TP.HCM
*Laboratoire CLIP – IMAG, Grenoble France
thuy@hcmuns.edu.vn, Ho-Bao.Quoc@imag.fr
0. Dẫn nhập
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 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 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ến 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 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 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 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. Phần III một số kêt quả mà chúng tôi đã đạ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.

2
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 giải pháp
giúp người sử dụng có thể tìm thấy các thông tin mình cần trong một khối lượng lớn dữ liệu.
Nhiệm vụ của một hệ thống tìm kiếm thông tin tương tự như nhiệm vụ tổ chức phân loại tài liệu
và phục vụ việc tra cứu của một thư viện. Một hệ thống tìm kiếm thông tin có hai chức năng
chính : lập chỉ mục (indexing) và tra cứu (interrogation). Lập chỉ mục là giai đoạn phân tích tài
liệu (document) để xác định các chỉ mục (term / index term) biểu diễn nội dung của tài liệu. Việc
lập chỉ mục có thể dựa vào một cấu trúc phân lớp có sẵn (control vocabulary) như cách làm của
các nhân viên thư viện, phân loại tài liệu theo một bộ phân loại cho trước. Các chỉ mục trong
cách làm này là tồn tại trước và độc lập với tài liệu. Cách thứ hai để lập chỉ mục là rút trích các
chỉ mục từ chính nội dung của tài liệu (free text). Trong bài này chúng tôi chỉ đề cập đến cách thứ
hai này. Cuối giai đoạn lập chỉ mục nội dung của các tài liệu có trong kho tài liệu (corpus) được
biểu diễn bên trong bằng tập các chỉ mục.
Trong giai đoạn tra cứu, nhu cầu thông tin của người sử dụng được đưa vào hệ thống dưới
dạng một câu hỏi (query) bằng ngôn ngữ tự nhiên hay một dạng thức qui ước nào đó, cũng sẽ
được phân tích và biểu diễn thành một dạng biểu diễn trong. Hệ thống sẽ sử dụng một hàm so
khớp (matching function) để so khớp biểu diễn của câu hỏi với các biểu diễn của các tài liệu để
tìm ra các tài liệu có liên quan (relevance). Một hệ thống tìm kiếm thông tin có thể được biểu
diễn như trong hình vẽ sau
Để đánh giá hiệu năng của một hệ thống tìm kiếm thông tin người ta dựa vào hai độ đo chính
là độ chính xác (presicion) và độ bao phủ (recall). Giả sử với một câu hỏi cho trước q, P là tập
các tài liệu mà hệ thống tìm được, R là tập các tài liệu thật sự liên quan đến câu hỏi q. Độ chính
xác là tỉ số giữa số tài liệu liên quan đến câu hỏi được tìm thầy trên toàn số tài liệu được tìm thấy
((P ∩ R) /P). Độ bao phủ là tỉ số giữa số tài liệu liên quan đến câu hỏi được tìm thấy trên tổng số
các tài liệu liên quan ((P∩R)/R).
Mặc dù lĩnh vực tìm kiếm thông tin đã được nghiên cứu từ mấy chục năm nay nhưng những
kỹ thuật mới vẫn chưa được áp dụng vào các hệ thống thương mại vì 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 sử dụng. Như chúng ta vẫn thường gặp khi sử dụng
Nhu cầu thông tin Tài liệu
biểu diễnlập chỉ mục
Câu hỏi tập chỉ mục
So khớp
Tài liệu liên quan
Thay đổi câu hỏi

3
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ú pháp của cùng một nhóm từ
sẽ mang các ý nghĩa khác nhau. Do đó nếu hệ thống không xử lý cấu trúc ngữ pháp của nhóm từ
sẽ dẫn đến việc giảm độ chính xác. Ví dụ một tài liệu chứa câu ‘near to the river, air pollution is a
major problem’ thì không liên quan gì đến ‘river pollution’ cả mặc dù cả hai từ đều có xuất hiện
trong tài liệu.
Do vậy để nâng cao hiệu quả của các hệ tìm kiếm thông tin, người ta phải có các giải thuật để
xử lý các biến thiên ngôn ngữ học như đã nêu
1.3 Các thuật toán xử lý ngôn ngữ tự nhiên
Đối với các biến thiên về hình thái học người ta có hai cách để xử lý: cách thứ nhất là mở rộng
câu hỏi (query expansion) bằng cách thêm vào câu hỏi tất cả các biến thể hình thái học của tất cả
các từ có trong câu hỏi, cách thứ hai là chuẩn hoá các biến thể hình thái học (stemming) của một
từ về một chuẩn chung (stem). Ví dụ như các từ computer, computed, computes, computerize sẽ
được chuẩn hoá thành một stem là compute. Hai thuật toán stemming được biết đến nhiều cho
tiếng Anh là Lovins và Porter.
Để xử lý các biến thể về từ vựng học người ta hoặc là mở rộng câu hỏi bằng cách thêm vào
câu hỏi tất cả các từ đồng nghĩa có thể có của tất cả các từ trong câu hỏi hoặc là xử lý ở giai đoạn
so khớp bằng cách đưa ra các độ đo khoảng cách của các khái niệm (conceptual distance
measures). Đối với cách thứ nhất chúng ta cần có một từ điển đồng nghĩa, đối với cách thứ hai
chúng ta phải xây dựng một tự điển từ vựng (thesaurus) trong đó có định nghĩa khoảng cách giữa
các từ như mạng ngữ nghĩa WORDNET.

4
Biến thể về ngữ nghĩa thường kết hợp chặt chẽ với biến thể về từ vựng học. Để xử lý các biến
thể này chúng ta cần một công đoạn xử lý sự đa nghĩa của từ (word sense disambiguiation), hiệu
năng của hệ thống tìm kiếm sẽ phụ thuộc vào kết quả của giai đoạn xử lý này.
Các kỹ thuật xử lý các biến thể về cú pháp học hay nói cụ thể hơn là xử lý cấu trúc của một
cụm từ (phrase) có thể được chia làm hai loại: kỹ thuật lập chỉ mục dựa vào 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
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 luật về viết hoa, khoảng
trắng và các ký tự phân cách khác. Đối với tiếng Việt đây là một bước khá phức tạp bởi vì các từ
tiếng Việt không thể xác định chỉ dựa theo cách này.
Sau khi đă xác định được các từ, hệ thống tiến hành gán từ loại (category) cho từng từ phụ
thuộc vào ngữ cảnh của từ. Đây cũng là một công đoạn rất phức tạp do một từ có thể mang nhiều
từ loại khác nhau tùy thuộc vào ngữ cảnh xuất hiện của từ. Việc xác định từ loại cho từ nhằm
phục vụ cho giai đoạn tiếp theo của tiến trình đó là xác định từ ghép, các cụm danh từ có trong
câu.
Bước tiếp theo của hệ thống là xác định các từ ghép (compound noun) ví dụ như từ ‘hot dog’
để xử lý chúng như một đơn vị duy nhất thay vì xử lý riêng rẽ các từ hot và dog trong trường hợp
này. Việc xác định các từ ghép thường dùng phương pháp thống kê tần suất đồng xuất hiện của

5
các từ trong tài liệu hoặc dùng các mẫu (patern) tổ hợp các từ loại, ví dụ như danh từ - tính từ,
danh từ - danh từ …
Tiếp theo là quá trình chuẩn hoá các biến thể và từ vựng học và ngữ nghĩa để xây dựng phân
nhóm các chỉ mục theo các nhóm ngữ nghĩa (semantical clustering)
Phân tích cú pháp là giai đoạn nhằm xác định các liên hệ về mặt cú pháp giữa các từ trong
cụm từ. Khi chúng ta đã xác định được các cụm từ và các liên hệ cú pháp giữa các từ trong cụm
từ, chúng ta tiến hành chuẩn hóa các cụm từ về một chuẩn chung và cuối cùng tiến hành đánh
trọng số cho các cụm từ chỉ mục.
Phần trên chúng tôi đã trình bày một kiến trúc của một hệ thống tìm kiếm thông tin có ứng
dụng các xử lý ngôn ngữ tự nhiên. Tuy nhiên ví các bước xử lý ngôn ngữ tự nhiên là rất phức tạp
với thời gian xử lý nhiều nên việc triển khai các hệ thống như vậy trong thực tế vẫn còn nhiều
hạn chế.
II. Một số đặc trưng của tiếng Việt
2.1. Từ tiếng Việt
Một vấn đề khó khăn đầu tiên trong xử lý tự động tiếng Việt là việc định nghĩa từ trong tiếng
Việt vẫn còn nhiều tranh luận. Để thuận tiện cho việc trình bày về sau chúng tôi theo quan điểm
của Đinh Điền [2] sau: một câu tiếng Việt bao gồm nhiều từ, mỗi từ bao gồm một hay nhiều
‘tiếng’, mỗi ‘tiếng’ là mỗi chuỗi ký tự liền nhau 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’
2.2 Từ loại