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

Luận văn Nghiên cứu các phương pháp phân loại, thu thập thông tin văn bản Tiếng Việt bằng Text Mining

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 (352.05 KB, 42 trang )

MỤC LỤC
MỤC LỤC...............................................................................................................1
BẢNG DANH MỤC HÌNH HOẠ...........................................................................4
LỜI GIỚI THIỆU....................................................................................................5
I. Đặt vấn đề.............................................................................................................7
II. Cơ sở lý thuyết....................................................................................................8
1. Khái niệm Text Mining...................................................................................8
a. Khai phá dữ liệu (Data Mining)..................................................................8
b. Khai phá dữ liệu văn bản (Text Mining)....................................................9
2. Bài toán phân loại văn bản (Text categorization)..........................................11
a. Khái niệm phân loại văn bản....................................................................11
b. Các phương pháp phân loại văn bản.........................................................12
b.1. Sử dụng từ điển phân cấp chủ đề........................................................12
b.1.1. Giải thuật phân lớp và phân cấp chủ đề....................................12
b.1.2. Sự phù hợp và sự phân biệt của các trọng số............................13
b.2. Phương pháp cây quyết định (Decision tree)......................................14
3. Bài toán thu thập thông tin (Information retrieval - IR)................................15
a. Khái niệm thu thập thông tin....................................................................15
b. Các phương pháp thu thập thông tin.........................................................17
b.1. Các phương pháp chuẩn......................................................................17
b.1.1. Mô hình Boolean.......................................................................17
b.1.2. Mô hình không gian vec-tơ (Vector space model - VSM)........19
b.2. Các phương pháp dựa trí tuệ nhân tạo (AI-based method).................22
b.2.1 Kỹ thuật mạng Nơ-ron (Neural network)...................................23
4. Một số công cụ phân tích văn bản tiếng Anh................................................27
III. Các giải pháp áp dụng cho Vietnamese Text Mining......................................30
1. Đặc trưng của văn bản tiếng Việt..................................................................30
a. Các đơn vị của tiếng Việt..........................................................................30
a.1. Tiếng và đặc điểm của tiếng................................................................30
a.1.1. Tiếng và giá trị ngữ âm..............................................................30
a.1.2. Tiếng và giá trị ngữ nghĩa..........................................................30


a.1.3. Tiếng và giá trị ngữ pháp...........................................................30


a.2. Từ và các đặc điểm của từ...................................................................31
a.2.1. Từ là đơn vị nhỏ nhất để đặt câu...............................................31
a.2.2. Từ có nghĩa hoàn chỉnh và cấu tạo ổn định...............................31
a.3. Câu và các đặc điểm của câu...............................................................31
a.3.1. Câu có ý nghĩa hoàn chỉnh........................................................31
a.3.2. Câu có cấu tạo đa dạng..............................................................31
b. Các phương tiện ngữ pháp của tiếng việt.................................................32
b.1. Trong phạm vi cấu tạo từ....................................................................32
b.2. Trong phạm vi cấu tạo câu..................................................................32
c. Từ tiếng việt..............................................................................................33
c.1. Từ đơn - từ ghép..................................................................................33
c.2. Từ loại.................................................................................................33
c.3. Dùng từ cấu tạo ngữ............................................................................34
d. Câu tiếng việt............................................................................................35
d.1. Câu đơn...............................................................................................35
d.2. Câu ghép.............................................................................................36
d.2.1. Câu ghép song song...................................................................36
d.2.2. Câu ghép qua lại........................................................................36
d.2.3. Các thành phần câu....................................................................36
e. Các đặc điểm chính tả và văn bản tiếng Việt............................................37
2. Các giải pháp, đánh giá hiệu quả, đề ra giải pháp cho phân tích văn bản tiếng
Việt................................................................................................................................37
a. Bài toán phân loại văn bản tiếng Việt.......................................................37
b. Bài toán thu thập thông tin từ văn bản tiếng Việt.....................................38
IV. Xây dựng thử chương trình tách thuật ngữ tiếng Việt theo phương pháp cổ
điển.....................................................................................................................................39
1. Chương trình và bài toán được giải quyết.....................................................39

2. Kết quả chạy chương trình............................................................................39
TÀI LIỆU THAM KHẢO......................................................................................40
PHỤ LỤC...............................................................................................................41
Các thông tin về báo cáo...................................................................................41
Cách chạy chương trình demo...........................................................................41
TỪ ĐIỂN THUẬT NGỮ.......................................................................................42

2


3


BẢNG DANH MỤC HÌNH HOẠ
Hình 1: Một ví dụ về cây quyết định
Hình 2. Mô hình thu thập thông tin chuẩn
Hình 3. Đồ thị biểu diễn các vec-tơ của bài báo D1 và D2
Hình 4: Đồ thị biểu diễn quan hệ giữa truy vấn (query) và các tài liệu D1, D2
Hình 5. Mạng nơ-ron: toán tử AND (a) và toán tử OR (b)
Hình 6. Mạng nơ-ron với lớp ẩn: toán tử NOR
Hình 7: Mô hình biểu diễn mạng nơ-ron
Hình 8: Minh hoạ công cụ TextAnalyst
Hình 9: Minh hoạ công cụ TextAnalyst nhúng trên Internet Explorer

4


LỜI GIỚI THIỆU
Ngày nay, cơ sở dữ liệu đã trở thành một phần không thể thiếu của xã hội loài
người. Trong kỉ nguyên thông tin này, các thông tin được lưu trữ và xử lý hiệu quả hầu

hết là thông qua cơ sở dữ liệu. Sau gần 50 năm phát triển, cơ sở dữ liệu đã có những bước
tiến vô cùng quan trọng trong lịch sử Công nghệ thông tin. Từ mô hình Cơ sở dữ liệu
quan hệ do E.Codd đề xuất từ những năm 60, các ứng dụng công nghệ thông tin đã thực
sự biến việc lưu trữ dữ liệu trở thành lưu trữ thông tin thông qua các công cụ quản lý và
xử lý cơ sở dữ liệu. Ngày nay, nhu cầu lưu trữ và xử lý thông tin có mặt ở khắp mọi nơi.
Ở bất cứ một tổ chức nào, với bất kỳ một mô hình hay quy mô nào cũng đều có những
nhu cầu về lưu trữ và khai thác thông tin. Khái niệm thông tin ở đây bao gồm cả thông tin
về nội tại của tổ chức và thông tin về môi trường và tổ chức hoạt động.
Việc nghiên cứu lý thuyết về cơ sở dữ liêu đã trở thành một ngành khoa học ứng
dụng. Do những tiến bộ vượt bậc trong nghiên cứu lý thuyết cũng như cài đặt thực tế, các
hệ quản trị cơ sở dữ liệu đã trở thành nền tảng, là phần cốt yếu trong hoạt động của các tổ
chức. Nhờ chúng mà các tổ chức hoạt động hiệu quả hơn. Việc ứng dụng cơ sở dữ liệu đã
giúp làm giảm rất nhiều công sức lao động của con người và nhờ đó hiệu suất lao động
của họ cao hơn. Hệ quản trị cơ sở dữ liệu ngày nay không còn đơn thuần chỉ là một cơ
cấu cho phép lưu trữ số liệu mà còn kèm theo đó là các công cụ, tiện ích hay các phương
pháp luận để chuyển đổi số liệu thành thông tin. Tập tất cả các công cụ do người dùng
phát triển hoặc do các nhà cung cấp phần mềm tung ra để phục vụ cho mục đích hoạt
động của tổ chức, được tối ưu theo những yêu cầu nghiệp vụ của tổ chức được gọi là các
ứng dụng hỗ trợ xử lý tác nghiệp. Cao hơn nữa, khi các nhu cầu sử dụng thông tin ở mức
cao cấp hơn để hỗ trợ các nhu cầu phân tích của các nhà lãnh đạo, các nhà lập chiến lược
trong một tổ chức, một loại ứng dụng mới ra đời phục vụ cho các mục đích này với tên
gọi “hệ phân tích và xử lý trực tuyến”. Ở các ứng dụng này, thông tin được lưu trữ, xử lý
và kết xuất theo các mục đích cụ thể dưới dạng hướng chủ đề. Nhờ các thông tin ở dạng
này mà các phân tích, các nhà lãnh có thể đưa ra các quyết định hoạt động một cách hiệu
quả nhất.
Khi các mô hình dữ liệu phát triển ở mức độ cao hơn, các thông tin lưu trữ dưới
dạng dữ liệu phong phú đa dạng hơn, người ta nhận ra còn rất nhiều tri thức còn tiềm ẩn
trong dữ liệu mà các mức phân tích trước đó không phát hiện ra. Lý do của vấn đề này là
các phân tích trước đó chỉ mới hướng mục đích cụ thể của con người. Các mục đích này
là cố định và các phân tích này hoàn toàn do con người đưa ra trong hoàn cảnh cụ thể.

Khi các thông tin phản ánh môi trường thay đổi thì con người không nhận ra để điều
chỉnh các phân tích và đưa ra các phân tích mới. Các tri thức đó có thể là hướng kinh
doanh, các dự báo thị trường, cũng có thể là mối quan hệ giữa các trường hay nội dung
dữ liệu... mà con người không hình dung ra được khi tiến hành mô hình hoá các hệ thống.
Vì thế, ngành nghiên cứu về Phát hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery
in Database) ra đời với bài toán Khai phá dữ liệu (DataMining) làm trung tâm nghiên
cứu. Các tư tưởng nghiên cứu và các thuật toán về Trí tuệ nhân tạo và Hệ chuyên gia đã
được áp dụng và thu được những kết quả rất quan trọng như: cây quyết định, mạng nơron...
Hầu hết các thuật toán nghiên cứu cho DataMining là tập trung trên các nguồn số
liệu có cấu trúc (structured data). Nhưng phần lớn thông tin mà chúng ta lưu trữ và trao
5


đổi hằng ngày lại được lưu trữ dưới các dạng dữ liệu bán cấu trúc (semi-structured data)
hoặc phi cấu trúc (non-structured data). Ví dụ như trong các nhà xuất bản, hệ thống các
trang web trên một website, tập các công văn, giấy tờ, báo cáo, thư tín điện tử trong một
công ty. Thậm chí ta có thể nhận thấy rằng trong một hệ quản trị cơ sở dữ liệu (nơi mà dữ
liệu được lưu trữ có cấu trúc) thì dữ liệu kiểu text vẫn chiếm một tỷ lệ cao. Do đó một
vấn đề đặt ra là làm thế nào để có thể tìm kiếm và khai thác tri thức từ nguồn dữ liệu như
vậy. Các kỹ thuật để giải quyết vấn đề này được gọi là kỹ thuật "TextMining" hay Khai
phá dữ liệu văn bản. Bài toán Khai phá dữ liệu văn bản không chỉ tập trung vào một hay
một nhóm các thông tin được lưu trữ dưới dạng văn bản, vấn đề đặt ra là làm thế nào có
thể Khai phá được các thông tin theo lịch sử, từ quá khứ hướng dự đoán tương lai. Những
tri thức tưởng trừng như vô ích trong quá khứ nhưng có thể được phát hiện để sử dụng
cho các mục đích sau này.
Một số bài toán quan trọng trong Khai phá dữ liệu văn bản hay được xét đến như là
các bài toán “Text Classification”, “Text Sumarization”, và “Text Categorization”.
Trên thế giới đã có rất nhiều thành công trong đề tài phân lớp văn bản như các
nghiên cứu của hãng IBM, trong các phòng thí nghiệm ở MIT hay ở các viện nghiên cứu
của các trường đại học ở Mỹ, Pháp, Nhật Bản, Canada. Tuy nhiên, các thành công đó chủ

yếu tập trung vào vấn đề nghiên cứu về các văn bản tiếng Anh, tiếng Pháp. Những ngôn
ngữ này là các ngôn ngữ tương đối thuận lợi khi xử lý.
Hiện nay, chưa có một công cụ nào được coi là hiệu quả trong lĩnh vực khai phá
văn bản tiếng Việt. Nền Công nghệ thông tin của nước ta được phát triển hết sức mạnh
mẽ. Do nhu cầu hội nhập, nhu cầu phát triển kinh tế, văn hoá, Xã hội ngày càng tăng, các
thông tin được xử lý thông qua văn bản điện tử, qua web, qua email phát triển với tốc độ
chóng mặt. Từ đó, nhu cầu nghiên cứu và xây dựng các công cụ Khai phá dữ liệu văn bản
tiếng Việt đang được hết sức coi trọng.
Trong đề tài thực tập này, em xin trình bày các nghiên cứu tổng quan của em về
Text Mining và các ứng dụng của nó về thu thập thông tin từ dữ liệu văn bản và phân
loại dữ liệu văn bản. Mục đích của đề tài là hướng tới phát triển các công cụ phân loại
văn bản tiếng Việt ở các nghiên cứu sau trong đề tài luận văn tốt nghiệp.
Em xin chân thành cảm ơn thầy Nguyễn Ngọc Bình đã giúp em rất nhiều trong quá
trình hướng dẫn em nghiên cứu về đề tài. Em xin cảm ơn anh Lưu Anh Tuấn đã giúp em
một số định hướng trong quá trình nghiên cứu đề tài.

6


I. Đặt vấn đề
Như chúng ta đã biết, hầu hết các thông tin được trao đổi hiện nay nằm dưới dạng
tài liệu văn bản. Các thông tin đó có thể là các bài báo, các tài liệu kinh doanh, các thông
tin kinh tế, các bài nghiên cứu khoa học. Dù áp dụng Cơ sở dữ liệu vào trong hoạt động
của tổ chức là rất phổ biến và đem lại nhiều lợi ích khi lưu trữ và xử lý, nhưng ta không
thể quên được rằng còn rất nhiều dạng thông tin khác được lưu trữ dưới dạng văn bản.
Thậm chí ngay cả trong các thông tin được lưu trong các cơ sở dữ liệu thì phần lớn trong
số chúng cũng được tổ chức dưới dạng văn bản. Hiện nay, các tổ chức đã áp dụng công
nghệ thông tin vào quản lý hệ thống công văn giấy tờ, ví dụ các hệ thống sử dụng Lotus
Node. Tuy nhiên đó chỉ thực sự là cách quản lý luồng dữ liệu văn bản, cung cấp các công
cụ kho chứa, còn dữ liệu vẫn thực sự nằm dưới dạng văn bản. Chúng ta chưa có các giải

thuật phân loại, tìm kiếm tài liệu, các công cụ trích lọc thông tin nhằm mục đích thống kê,
phát hiện tri thức, ra quyết định trực tiếp trên các nguồn dữ liệu kiểu này.
Với thực tế đó, vấn đề đặt ra là làm thế nào chúng ta có thể khai thác được những
thông tin hữu ích từ các nguồn tài liệu văn bản nói chung. Các nguồn dữ liệu này phải
được xử lý như thế nào để người dùng có thể có những công cụ tự động hoá trợ giúp
trong việc phát hiện tri thức và khai thác thông tin. Rõ ràng, chúng ta phải hiểu rõ bản
chất của dữ liệu văn bản, hiểu rõ các đặc trưng của các dữ liệu loại này để có thể có được
những phương pháp luận cần thiết.
Việc khai thác thông tin từ các nguồn dữ liệu văn bản trong các tổ chức Việt Nam
chắc chắn phải dựa vào những kết quả nghiên cứu về văn bản nói chung, về dữ liệu văn
bản và các kỹ thuật xử lý đã được phát triển trên thế giới. Tuy nhiên, những văn bản tiếng
Việt lại có những đặc trưng riêng của nó. Ta có thể nhận thấy được ngay sự khác biệt về
mặt kí pháp, cú pháp và ngữ pháp tiếng Việt trong các văn bản so với các ngôn ngữ phổ
biến trên thế giới như tiếng Anh, tiếng Pháp. Vậy thì những đặc trưng này ảnh hưởng thế
nào đến các kỹ thuật khai phá dữ liệu văn bản, ta cần phải có những ký thuật mới nào để
có thể tận dụng được những ưu thế của tiếng Việt cũng như giải quyết được những phức
tạp trong tiếng Việt.
Để trả lời được những câu hỏi này, đồ án sẽ đi từ những bước nghiên cứu về Khai
phá dữ liệu văn bản, tìm hiểu những đặc trưng của tiếng Việt, từ đó đề ra phương hướng
giúp giải quyết bài toán phân loại văn bản tiếng Việt phức tạp ở các nghiên cứu cao hơn.
Các kết quả của nghiên cứu trong đề tài thực tập này sẽ là nhưng bước tiến đầu tiên cho
luận văn tốt nghiệp của em với đề tài “Phân loại văn bản tiếng Việt bằng phương pháp
phân tích cú pháp.”

7


II. Cơ sở lý thuyết
1. Khái niệm Text Mining


a. Khai phá dữ liệu (Data Mining)
Việc sử dụng cơ sở dữ liệu vào hoạt động của một tổ chức đã được phát triển trong
vòng 60 năm trở lại đây. Với dữ liệu được thu thập trong suốt quá trình hoạt động của
một tổ chức, một nhu cầu được đặt ra là tìm kiếm và khai thác tri thức từ những dữ liệu
đó. Đó chính là xuất phát điểm của bài toán Phát hiện tri thức từ cơ sở dữ liệu. Người ta
nhận thấy rằng có rất nhiều tri thức mà chúng ta không lường trước đang còn tiềm ẩn
trong dữ liệu, nhiệm vụ của chúng ta là phát hiện, khám phá các tri thức đó, phục vụ cho
những nhu cầu sử dụng thông tin cao hơn, ví dụ như trong các hệ chuyên gia hay hệ hỗ
trợ quyết định.
Khai phá dữ liệu là giai đoạn chủ yếu của quá trình Phát hiện tri thức từ cơ sở dữ
liệu. Quá trình khai phá tri thức được thực hiện sau các quá trình thu thập và tinh lọc dữ
liệu, có nghĩa là chỉ tìm các mẫu tri thức (pattern) có ý nghĩa trên tập dữ liệu có hy vọng
chứ không phải là trên toàn bộ CSDL như các phương pháp thống kê trước đây.
Vì vậy khai phá dữ liệu bao gồm việc thử tìm mô hình phù hợp với dữ liệu và
tìm kiếm các mẫu hình tri thức từ dữ liệu theo mô hình đo. Mặc dù mẫu hình có thể
tìm được từ bất kì một CSDL nào nhưng chỉ những mẫu phù hợp với mục đích tìm kiếm
mới được gọi là tri thức. Ta sẽ có những hàm số để đánh giá các tiêu chí mẫu như mới, co
lợi, đáng được xem xét.
Độ mới của mẫu hình phụ thuộc vào khung phạm vi quy chiếu, có thể đối với hệ
thống hoặc đối với người dùng. Ví dụ với dữ liệu của một công ty, quá trình Khai phá dữ
liệu tìm ra được một luật như Lợi tức thu được giảm vào mùa thu ở vùng phía Bắc, đối
với hệ thống thì rất mới, trước kia chưa hề có nhưng bất cứ một cán bộ lập kế hoạch nào
cũng nhận ra được điều này qua các báo cáo tài chính.
Tính hữu dụng của mẫu có thể đo được qua sự liên quan đến mục đích tìm kiếm.
Với một cán bộ phụ trách bảo trì máy tính ở công ty thì luật trên không có giá trị, mặc dù
là mới đối với anh ta.
Có thể qua công đoạn khai phá tri thức có rất nhiều mẫu được lấy ra nhưng không
phải mẫu nào cũng có giá trị, có thể là mới, hữu ích nhưng lại tầm thường, đặc biệt là khi
áp dụng các kỹ thuật dựa trên thống kê. Do đó luôn phải có các tiêu chí và các hàm đánh
các mẫu đáng xem xét, không tầm thường.

Tóm lại, Khai phá dữ liệu thực ra có thể coi là một quá trình xác định mẫu từ các
Datawarehouse, sử dụng các kỹ thuật sẵn có như học máy, nhận dạng, thống kê, phân
oại... và các kỹ thuật được phát triển bởi ngành nghiên cứu trí tuệ nhân tạo như Mạng nơ-

8


ron nhân tạo (neutral network), các thuật toán di truyền (generic algorithm), quy nạp luật
rule reduction)...
Ta có thể xét đến một số bài toán chính đối với nghiên cứu về Khai phá dữ liệu
-

Bài toán phân lớp (classification): Tìm một ánh xạ (phân loại) từ một mẫu dữ
liệu vào một trong các lớp cho trước.

-

Bài toán hồi quy (regression): Tìm một ánh xạ hồi quy từ một mẫu dữ liệu vào
một biến dự đoán có giá trị thực

-

Bài toán lập nhóm ( clustering): Là việc mô tả chung để tìm ra các tập xác định
hữu hạn các nhóm hay các loại để mô tả dữ liệu.

-

Bài toán tổng kết (summarization): Là việc đi tìm kiếm một mô tả chung tóm tắt
cho một tập con dữ liệu.


b. Khai phá dữ liệu văn bản (Text Mining)
Khai phá dữ liệu văn bản hay phát hiện tri thức từ các cơ sở dữ liệu văn bản (textual
databases) đề cập đến tiến trình trích lọc các mẫu hình thông tin (pattern) hay tri thức
(knowledge) đáng quan tâm hoặc có giá trị (non-trivial) từ các tài liệu văn bản phi cấu
trúc. Quá trình này có thể được coi là việc mở rộng kỹ thuật Khai phá dữ liệu truyền
thống, vì như ch úng ta đã thấy (đã được đề cập ở trên) kỹ thuật Khai phá dữ liệu truyền
thống (DataMining) hướng tới việc phát hiện tri thức từ các cơ sở dữ liệu có cấu trúc.
Thông tin được lưu trữ dưới dạng nguyên sơ nhất chính là văn bản. Thậm chí ta có
thể thấy rằng dữ liệu tồn tại dưới dạng văn bản còn có khối lượng lớn hơn rất nhiều so
với các dữ liệu có cấu trúc khác. Thực tế, những nghiên cứu gần đây đã cho thấy rằng có
đến 80% thông tin của một tổ chức nằm dưới dạng văn bản. Đó có thể là các công văn
giấy tờ, các biểu mẫu điều tra, các phiếu đặt hàng, các yêu cầu khiếu nại, giải quyết
quyền lợi, các thư tín điện tử (email), các thông tin trên các website thương mại... Khi
các nghiên cứu về cơ sở dữ liệu ra đời vào những năm 60, người ta tưởng rằng có thể lưu
mọi loại thông tin dưới dạng dữ liệu có cấu trúc. Nhưng trên thực tế sau gần 50 năm phát
triển, người ta vẫn dùng các hệ thống lưu trữ ở dạng văn bản và thậm trí còn có xu hướng
dùng thường xuyên hơn. Từ đó người ta có thể tin rằng các sản phẩm Khai phá dữ liệu
văn bản có thể có giá trị thương mại cao hơn rất nhiều lần so với các sản phẩm Khai phá
dữ liệu truyền thống khác. Tuy nhiên ta cũng có thể thấy ngay rằng các kỹ thuật Khai phá
dữ liệu văn bản phức tạp hơn nhiều so với các kỹ thuật Khai phá dữ liệu truyền thống bởi
vì phải thực hiện trên dữ liệu văn bản vốn đã ở dạng phi cấu trúc và có tính mờ (fuzzy).
Một ví dụ cho bài toán khai phá dữ liệu văn bản, khi phân tích các bài báo nghiên
cứu khoa học, ta có các thông tin sau:
-

“stress là một bệnh liên quan đến đau đầu”

-

“stress xuất hiện có thể do thiếu Magê trong máu”


-

“Canxi có thể ngăn cản một số chứng đau đầu”

-

“Magê là một nguyên tố điều hoà canxi tự nhiên trong máu”

9


Sau khi phân tích các thông tin quan trọng này, hệ thống cần phải đưa ra các suy
luân cụ thể mang tính cách mạng:
-

“Thiếu hụt Magê có thể gây ra một số bệnh đau đầu”

Rõ ràng ở đây có sự phân tích suy luận ở mức độ cao. Để đạt được khà năng như
vậy cần phải có những công trình nghiên cứu về trí tuệ nhân tạo tiên tiến hơn.
Bài toán Khai phá dữ liệu văn bản là một bài toán nghiên cứu đa lĩnh vực, bao gồm
rất nhiều kỹ thuật cũng như các hướng nghiên cứu khác nhau: thu thập thông tin
(information retrieval), phân tích văn bản (text analysis), chiết xuất thông tin (information
extraction), lập đoạn (clustering), phân loại văn bản (categorization), hiển thị trực quan
(visualization), công nghệ cơ sở dữ liệu, học máy (machine learning) và bản thân các kỹ
thuật Khai phá dữ liệu.
Trong đề tài này em chủ yếu đề cập đến hai bài toán cụ thể, đó là bài toán phân loại
dữ liệu văn bản (Text categorization) và bài toán thu thập thông tin (information
retrieval). Các nghiên cứu mới chỉ dừng lại ở bước tìm hiểu, khảo sát, so sánh là tiền đề
cho các nghiên cứu cụ thể sau này mà mục đích trước mắt là phục vụ cho luận văn tốt

nghiệp.
Với một hệ thống Khai phá văn bản thường bao gồm ba bước chính:
-

Bước tiền xử lý: Ở bước này, hệ thống sẽ chuyển văn bản từ dạng phi cấu
trúc về dạng có cấu trúc. Ví dụ, với văn bản Tổ chức này to lắm, hệ thống
sẽ cố gắng phân tích thành Tổ chức|này|to|lắm. Các từ được lưu riêng rẽ
một cách có cấu trúc để tiện cho việc xử lý.

-

Loại bỏ các thông tin không cần thiết. Ở bước này, bộ phân tích tìm cách
loại bỏ các thông tin vô ích từ văn bản. Bước này phụ thuộc rất nhiều vào
ngôn ngữ đang được phân tích và kỹ thuật sẽ được dùng để phân tích ỏ
bước tiếp theo. Ví dụ, nếu kỹ thuật phân tích văn bản chỉ dựa vào xác xuất
xuất hiện từ khoá, khi đó ta có thể loại bỏ các từ phụ như: nếu, thì, thế
nhưng, như vậy…

-

Khai phá dữ liệu đã được giản lược với các kỹ thuật khai phá dữ liệu (data
mining) truyền thống.

Có rất nhiều kỹ thuật và phương pháp tốt được sử dụng cho Text Mining để tìm ra
các kiến trúc mới, các mẫu mới, và các liên kết mới. Các bước tiền xử lý là các kỹ thuật
rất phức tạp nhằm phân tích một phân lớp đặc biệt thành các thuộc tính đặc biệt, sau đó
tiến hành áp dụng các phương pháp khai phá dữ liệu kinh điển tức là phân tích thống kê
và phân tích các liên kết. Các bước còn lại sẽ khai phá cả văn bản đầy đủ từ tập các văn
bản, ví dụ như phân lớp văn bản.
Mục tiêu cuối cùng của Text Mining thường là đường lối hiệu quả, hoàn thiện, và

đặc trưng để trình diễn và tìm kiếm các tập hợp rộng lớn của các văn bản. Do đó, các kỹ
thuật chính của Text Mining có thể được phân phân ra thành các nhiệm vụ mà chúng thực
hiện khi xử lý khai phá văn bản: loại thông tin mà chúng có thể trích ra và loại phân tích
được thực hiện bởi chúng.

10


Các loại thông tin được trích ra có thể là:
-

Các nhãn: Giả sử, được liên kết với mỗi văn bản là tập các nhãn các thao
tác khai phá tri thức được thực hiện trên các nhãn của mỗi văn bản. Nói
chung, có thể giả sử rằng các nhãn tương ứng với các từ khoá, mỗi một từ
khoá có quan hệ với một chủ đề cụ thể nào đó.

-

Các từ: Ở đây giả sử rằng một văn bản được gán nhãn với từng từ xuất
hiện trong văn bản đó.

-

Các thuật ngữ: Ở đây với mỗi văn bản tìm thấy các chuỗi từ, chuỗi từ đó
thuộc về một lĩnh vực nào đó và do đó việc tìm khai phá văn bản được
thực hiện trên các khai niệm được gán nhãn cho mỗi văn bản. Ưu điểm
của phương pháp này là các thuật ngữ được tách ra ít và có xu hướng tập
trung vào các thông tin quan trọng của văn bản hơn hai phương pháp trước
đây.


Các loại kết hợp:
-

Kết hợp thông thường: Một số thuật toán trước đây giả sử rằng dữ liệu
nguyên mẫu được tạo lập chú dân để trợ giúp cho các kỹ thuật xử lý ngôn
ngữ tự nhiên. Các cấu trúc có chú dẫn trên thực tế có thể được sử dụng
như một cơ sở cho việc xử lý khai phá tri thức.

-

Các phân cấp thuật ngữ: Ở đây mỗi văn bản được đính với các thuật ngữ
lấy ra từ một phân cấp các thuật ngữ. Sau đó, một hệ thống sẽ phân tích sự
phân bố nội dung của các thuật ngữ hậu duệ của từng thuật ngữ liện quan
đến các hậu duệ khác do các phân bố liên kết và các phép đo khác nhằm
khai thác các quan hệ mới giữa chúng. Loại liên kết này có thể cũng được
sử dụng để lọc và tổng hợp chủ đề của các tin tức.

-

Khai phá văn bản đầy đủ: Không giống như loại liên kết thông thường
thực hiện thao tác mù quáng trên các chú dẫn của văn bản, kỹ thuật này sử
dụng lợi thế của nội dụng nguyên mẫu của các văn bản. Kỹ thuật này được
gọi là “trích văn bản nguyên mẫu”.

2. Bài toán phân loại văn bản (Text categorization)

a. Khái niệm phân loại văn bản
Phân loại văn bản (Text categorization) là xử lý nhóm các tài liệu thành các lớp
khác nhau hay các phân nhóm (categories). Đây là một tác vụ phân lớp liên quan đến việc
ra quyết định xử lý. Với mỗi xử lý phân nhóm, khi đưa ra một tài liệu, một quyết định

được đưa ra nó có thuộc một lớp nào hay không. Nếu nó thuộc một phân lớp nào đó thì
phải chỉ ra phân lớp mà nó thuộc vào. Ví dụ, đưa ra một chủ đề về thể thao, cần phải đưa
ra quyết định rằng chủ đề đó thuộc các phân lớp cờ vua, quần vợtt, cầu lông, bơi lội hay
bất cứ một môn thể thao nào khác. Các hệ thống phân loại văn bản thường làm việc với
một thuật toán tự học (learning algorithm). Thuật toán đó được cung cấp một tập mẫu để
phục vụ cho việc dạy học. Tập mẫu này bao gồm một tập các thực thể có gán nhãn được
phân lớp trước có dạng (x, y) ở đó x là thực thể được phân lớp, y là nhãn (hay phân lớp)
được gán cho nó. Với cơ cấu cơ sở như vậy, khi một thực thể được cung cấp cho hệ
thống, nó sẽ cố gắng suy ra một hàm toán học từ tập đào tạo mẫu và ánh xạ thực thể mới
11


đó vào một phân lớp. Phân lớp văn bản là bài toán hay và đang có những bước phát triển
hết sức quan trọng mà nguyên nhân chủ yếu do sự phát triển mạnh mẽ gần đây của các
thông tin nguyên trực tuyến.

b. Các phương pháp phân loại văn bản
b.1. Sử dụng từ điển phân cấp chủ đề
Một phương pháp thống kê phân lớp văn bản được điều khiển bởi một từ điển chủ
đề có phân cấp được đề xuất. Phương pháp này sử dụng một từ điển với một cấu trúc đơn
giản. Từ điển này có thể dạy được dễ dàng trên một tập hợp tài liệu được phân lớp bằng
tay và có thể dịch được tự động sang nhiều ngôn ngữ khác nhau.
Chúng ta xem xét nhiệm vụ phân loại văn bản bởi chủ đề của tài liệu: ví dụ, một số
tài liệu về những động vật, và một số khác nói về vấn đề công nghiệp. Chúng ta giả sử
rằng danh sách chủ đề là lớn nhưng cố định. Giải thuật của chúng ta không thu được
những chủ đề từ thân của tài liệu nhưng thay vào đó, nó liên hệ tài liệu với một trong
những chủ đề được liệt kê trong từ điển hệ thống. Kết quả là phép đo (về phần trăm) sự
tương ứng của tài liệu với mỗi từngchủ đề có sẵn.
Có một vấn về xuất hiện là độ tối ưu, hay độ hợp lý, độ chi tiết cho phân loại như
vậy. Ví dụ, khi phân loại tin tức trên internet với một người đọc “bình thường”, những

phân loại như các loài động vật hoặc nghành công nghiệp thì khá phù hợp, trong khi phân
lớp các chủ đề về động vật học giống như một cuốn từ điển như vậy sẽ đưa ra một câu
trả lời chung chung rằng tất cả các chủ đề đó đều nói về động vật. Hay nói cách khác, với
một người đọc tin tức trên internet bình thường, thật không thích hợp dùng để phân loại
những tài liệu với những chủ đề chi tiết hơn như những động vật có vú, động vật có
xương sống, động vật thân nhiệt.
Trong bài nghiên cứu này, chúng ta sẽ bàn luận về cấu trúc của từ điển chủ đề, cách
chọn lựa và cách sử dụng các trọng số của các nút riêng lẻ trong phân cấp, và một số khía
thực tế về việc biên soạn điển chủ đề.
b.1.1. Giải thuật phân lớp và phân cấp chủ đê
Trong bài nghiên cứu của các tác giả Guzmán và Arenas vào năm 1997 và 1998,
hai ông đề xuất việc sử dụng một từ điển có phân cấp để xác định những đề tài chính của
một tài liệu [1]. Về mặt kỹ thuật, từ điển bao gồm hai phần: các nhóm từ khóa đại diện
cho các chủ đề riêng biệt, và một biểu diễn phân cấp của các chủ đề này.
Một nhóm từ khóa là một danh sách các từ hoặc các biểu thức liên quan đến tình
trạng tham chiếu bởi tên của chủ đề. Ví dụ, chủ đề tôn giáo liệt kê các từ như nhà thờ,
thầy tu, nến, kinh thánh, cầu nguyện, người hành hương,…Chú ý rằng những từ này
không được liên kết với đầu mục tôn giáo hay liên kết với nhau bởi bất kỳ quan hệ ngữ
nghĩa tiêu chuẩn nào như kiểu con, phần,…
Cây chủ đề được tổ chức thành một phân cấp, hay nói chung là tổ chức thành một
mạng (khi đó một số chủ đề có thể thuộc một vài nút của cây phân cấp).
Giải thuật tìm kiếm chủ đề trên từ điển cũng gồm có hai phần : tìm kiếm chủ đề đơn
(chủ đề lá) và sự truyền lan trọng số của chủ đề trên cây. Thực tế, nó trả lời, cho câu hỏi
sau: tới mức độ nào thì tài liệu này sẽ phù với chủ đề đã cho? Một câu hỏi như vậy được

12


trả lời cho mỗi chủ đề riêng biệt. Trong trường hợp đơn giản nhất, trọng số của một chủ
đề là số (tần suất) các từ tương ứng, trong danh sách từ, được tìm thấy trong tài liệu [1].

Phần thứ hai của giải thuật có trách nhiệm lan truyền các tần suất tìm thấy trên cây
[1]. Với phần giải thuật này, chúng ta có thể chỉ ra rằng một tài liệu đề cập đến chủ về
những động vật có vú, những động vật thân mềm, những động vật giáp sát ở nút lá, phù
hợp với chủ đề về những động vật, các sinh vật sống và tự nhiên không ở nút lá.
b.1.2. Sự phù hợp và sự phân biệt của các trọng số
Thay vì các danh sách từ đơn giản, một số trọng số có thể được sử dụng bởi giải
thuật để định nghĩa (1) phép đo định lượng sự phù hợp của các từ với các chủ đề và (2)
đo mức quan trọng của các nút của thuộc cây phân cấp [1].
Loại trọng số đầu tiên, chúng ta gọi là các trọng số sự phù hợp, có liên hệ với các
liên kết giữa các từ và các chủ đề và các liên kết giữa các nút trên cây. Ví dụ, nếu tài liệu
đề cập đến từ “bộ chế hòa khí” thì nó đang nói về ô tô. Làm sao phù hợp hoá từ “bộ chế
hòa khí” hoặc “bánh lái” cho những chủ đề về ô tô, độ mạnh trong các quan hệ này như
thế nào? Về trực giác, đóng góp của từ “bộ chế hòa khí” vào chủ đề ô tô lớn hơn sự đóng
góp của từ “bánh lái”; như vậy, mối liên kết giữa “bánh lái” và chủ đề ô tô được gán
một trọng số nhỏ hơn.
Có thể thấy rằng, trọng số w ik của một liên kết như vậy (giữa một từ k và một chủ
đề j, hay giữa một chủ đề k và chủ đề cha j của nó trên cây) có thể được định nghĩa như
độ phù hợp trung bình cho chủ đề của những tài liệu được đưa ra chứa từ này:
ri j nik

wkj = i∈D k [1]. Ở đây phép tính tổng được thực hiện tất cả các tài liệu có sẵn D, ri j là
∑ ni
i∈D

k
phép đo sự phù hợp của tài liệu i với chủ đề j, và ni là số lần xuất hiện của từ hay chủ đề
k trong tài liệu i.

Không may, chúng ta không thành thạo bất cứ giải thuật đáng tin cậy nào để tìm ra
j

phép đo độ phù hợp ri của các tài liệu cho các lĩnh vực một cách độc lập. Thay vào đó,
một phép đo như vậy được đánh giá bằng tay bởi chuyên gia, và sau đó hệ thống được
huấn luyện trên hợp các tài liệu. Các chuyên gia có thể phải thường xuyên gán những
trọng số thích hợp bằng tay cho các tài liệu.
Cả hai cách tiếp cận này yêu cầu rằng được làm băng tay. Để tránh điều đó, với một
phép toán gần đúng, với những đề tài đủ hẹp, có thể giả thiết rằng những văn bản trên về
chủ đề này gần như không bao giờ xuất hiện trong những văn bản thông thường. Khi đó
1
wj =
biểu thức của các trọng số có thể được đơn giản hóa: k ∑ nik [1].
i∈D

Yêu cầu chính cho loại thứ hai của các trọng số - sự phân biệt các trọng số - là khả
năng phân biệt giữa chúng: một chủ đề cần phải tương ứng tới một tập con (đáng kể)
những tài liệu. Mặt khác, những chủ đề mà tương ứng với gần như tất cả các tài liệu trong
cơ sở dữ liệu thì chúng là vô ích vì chúng không cho phép đưa ra bất kỳ kết luận phù hợp
nào với các tài liệu tương ứng.
13


Như vậy, trọng số w j của một nút j trên cây có thể được đánh giá như độ biến đổi
của độ phù hợp wj chủ đề qua những tài liệu trong cơ sở dữ liệu. Một cách đơn giản để
j
j
2
tính toán một khả năng phân biệt là đo nó một cách rời rạc: w = ∑ (ri − M ) , ở đó
i∈D

M = ∑ ri / D là giá trị trung bình của r j qua cơ sở dữ liệu hiện thời D, và r j được xác
i

i
j

i∈D

định bởi giải thuật này mà không tính đến giá trị wj. Trong một yêu cầu chính xác hơn, lý
thuyết thông tin có thể được áp dụng cho phép tính các trọng số. Ở đây chúng ta không
bàn luận về ý tưởng này.
Với cách tiếp cận này, với một cơ sở dữ liệu sinh vật, trọng số của các chủ đề như
các động vật, các sinh vật sống, thiên nhiên sẽ thấp vì tất cả các tài liệu đề cập bằng nhau
về các chủ đề này. Mặt khác, do có sự pha trộn trong các tờ báo trọng số của chúng sẽ
cao, do nhiều tài liệu trong đó không tương ứng tới những chủ đề này, nhưng vẫn góp
phần đề cập đáng kể đến các chủ đề này.
b.2. Phương pháp cây quyết định (Decision tree)
lúa mì

nông trại

lúa mì

nông trại

thương nghiệp

giạ

lúa mì
thương nghiệp xuất khẩu

nông nghiệp


lúa mì

lúa mì

giạ

xuất khẩu

lúa mì

lúa mì

nông nghiệp

lúa mì

tấn

lúa mì

tấn

lúa mì
Hình 1: Một ví dụ về cây quyết định

Phương pháp phân lớp văn bản Cây quyết định (decision tree - DT) được Mitchell
đưa ra vào năm 1996 [2]. Trên cây gồm các nút trong được gán nhãn bởi các thuật ngữ,
các nhánh cây chứa nút được gán nhãn bằng các trọng số của thuật ngữ tương ứng đối với
tài liệu mẫu, và các lá cây được gắn nhãn bởi các phân lớp. Một hệ thống phân lớp như

vậy sẽ phân loại một tài liệu dj bởi phép thử đệ quy các trọng số mà các thuật ngữ được


gán nhãn cho các nút trong với vec-tơ d j cho đến khi với tới một nút lá. Khi đó, nhãn
của nút này được gán cho dj. Đa số các phướng pháp phân loại như vậy sử dụng biểu diễn
14


văn bản ở dạng nhị phân, và như vậy các cây cũng được biểu diễn dưới dạng nhị phân.
Một ví dụ về cây quyết định được minh hoạ trong Hình 1.
Một phương pháp khả thi dùng để huấn luyện một cây quyết định phân loại ci nằm
ở chiến lược “chia và trị” [2]. Chiến lược này sẽ kiểm tra xem liệu tất cả các khái niệm


huấn luyện có cùng nhãn với nó (hoặc ci hoặc ci ); nếu không, lựa chọn một khái niệm
tk, phân chia cây thành các lớp tài liệu có cùng giá trị tk và chèn vào mỗi lớp như vậy một
cây con riêng biệt. Quá trình đệ quy lặp lại trên các cây con cho đến khi mỗi lá của cây
phát sinh chứa các khái niệm huấn luyên gán cho cùng phạm trù ci, khi đó nó được chọn
như là nhãn của lá đó. Bước quyết định là việc chọn thuật ngữ tk ở đó sẽ xảy ra thao tác
chia, một phương pháp lựa chọn là chọn theo lợi ích thông tin hay entropi. Tuy nhiên,
một cây "quá lớn lên" có thể bị sập, nếu như các nhánh cây quá đặc biệt với dữ liệu huấn
luyện.
Đa số các phướng pháp dạy cây quyết định như vậy bao gồm một phương pháp
thêm cây và một phương pháp xén bớt cây để loại bỏ những nhánh quá đặc biệt [2].
3. Bài toán thu thập thông tin (Information retrieval - IR)

a. Khái niệm thu thập thông tin
Thu thập thông tin (Information Retrieval) là một trong những bài toán khai phá dữ
liệu văn bản. Bài toán này chủ yếu tập trung vào việc tìm ra các tài liệu trong một tập hợp
các tài liệu có sẵn theo một điều kiện nào đó. Các điều kiện này có thể là một truy vấn

hay một văn bản.
Khi điều kiện đưa vào là một truy vấn, bài toán sẽ đưa ra các suy luận để tìm ra đặc
trưng của câu truy vấn đó, sau đó so sánh với các đặc trưng của các tài liệu có sẵn để tìm
ra các tài liệu phù hợp nhất với câu truy vấn đó. Trong bài toán này, mô hình của bài toán
gần với bài toán Search Engine. Tuy nhiên, bài toán thu thập thông tin là bài toán được
phát triển ở mức độ cao hơn. Đối với bài toán Search Engine, câu truy vấn đưa vào là tập
hợp các niệm. Nhưng với bài toán thu thập thông tin, câu truy vấn đưa vào có thể là một
câu văn có ngữ nghĩa. Hệ thống sẽ tìm cách phân tích ngữ nghĩa của câu truy vấn để tìm
ra đặc trưng của nó.

15


Thông tin cần thiết

Truy vấn

Gửi cho Hệ thống

Công thức hoá lại

Nhận kết quả

Đánh giá kết quả

Sai

Tốt
?


Đúng

Dừng lại

Hình 2. Mô hình thu thập thông tin chuẩn
Khi thu thập dữ liệu, chúng ta thường cố gắng tìm kiếm các dữ liệu chính xác.
Trong các trường hợp khác, chúng ta kiểm tra để xem một thông tin có trong một tệp tin
hay không. Khi thu thập thông tin, kết quả chính xác thường được quan tâm, nhưng thông
thường chúng ta muốn tìm kiếm một cách tương đối chính xác với một thông tin đặc biệt
được đưa vào. Sau đó chúng ta sẽ tự chọn thông tin phù hợp nhất từ các kết quả của phép
xử lý trước đó. Nếu chúng ta so sánh nó với các kiểu hệ thống khác nhau, chúng ta sẽ
thấy rằng trong nội dung các truy vấn cơ sở dữ liệu, một phép tìm kiếm thực chất là để
làm thoả mãn một truy vấn, là câu hỏi để tìm ra câu trả lời (được biết đến với khái niệm
trích xuất thông tin) đặc biệt là với một câu hỏi đặc biệt. Trong thu thập thông tin, một
phép tìm kiếm nhằm tìm ra một tài liệu mà người dùng đang cần. Các hệ thống thu thập
thông tin (IR systems) được sử dụng để thu thập các tài liệu liên quan đến các yêu cầu rõ
ràng. Vấn đề với thu thập thông tin là việc xử lý các văn bản có nội dung liên quan nội tại
đến các văn bản được sử dụng trước đó. Hình 2 đưa ra một mô hình tương tác thu thập
thông tin chuẩn. Hiển nhiên, việc thu thập thông tin là quá trình xử lý lặp lại, với xử lý
đầu vào và đầu ra bao gồm vòng lặp tính toán lại yêu cầu.
Thao tác này chuyển đổi truy vấn theo một chiến lược có sẵn nhằm tăng tính phù
hợp của tài liệu đã nhận được.
Việc thu thập thông tin có thể được định nghĩa cho bất cứ một loại thông tin nào ví
dụ như kiểu văn bản, hình ảnh, âm thanh... Tuy nhiên, ở đây chúng ta chỉ đề cập đến việc

16


thu thập văn bản bởi văn bản là một loại thông tin mà phương thức thực hiện và kỹ thuật
xử lý đơn giản hơn. Có thể nhấn mạnh rằng các kỹ thuật này cũng có thể được áp dụng

cho thu thập thông tin đa phương tiện.
Các kỹ thuật thu thập thông tin có thể được chia ra thành hai loại:
-

Các kỹ thuật chuẩn

-

Các kỹ thuật có áp dụng trí tuệ nhân tạo.

Nhóm đầu tiên bao gồm các kỹ thuật dựa trên các phương thức thuật toán và toán
học truyền thống. Nhóm thứ hai cố gắng thu thập tri thức bằng các kỹ thuật áp dụng trí
tuệ nhân tạo để giành được các kết quả tốt hơn.

b. Các phương pháp thu thập thông tin
Ngày nay, các thông tin đang được phát triển mạnh mẽ về số lượng và chủ yếu là từ
Internet. Internet đã trở thành nơi lưu trữ, quản lý và đặc biệt là nơi thu nhận thông tin
nhanh chóng và tiện lợi. Lợi ích trung tâm là các thông tin thu nhận được phù hợp với
nhu cầu người dùng. Đó là lý do của các nghiên cứu chuyên sâu trong các lĩnh vực như
khai phá dữ liệu (DataMining), trích xuất thông tin (Information Extraction), thu thập
thông tin (Information Retrieval).
Rất nhiều các phương pháp thu thập thông tin được phát triển và kết quả mà chúng
đem lại khá tốt. Trong đó có rất nhiều phương pháp tồn tại ở dạng chuẩn. Các phương
pháp này thường dựa theo các phương pháp toán học cổ điển. Một số phương pháp khác
được phát triển theo hướng dựa trí tuệ nhân tạo. Sau đây, chúng ta sẽ tìm hiểu sâu hơn về
các phương pháp thu thập thông tin.
b.1. Các phương pháp chuẩn
Phần lớn các kỹ thuật chuẩn được phát triển từ những năm 1960 đến những năm
1970, và phần lớn trong số chúng dựa trên các thuật toán và công thức toán học truyền
thống. Trong bài nghiên cứu này chỉ đề cập đến các mô hình mô hình Boolean (Boolean

model), mô hình không gian vec-tơ (vector space model).
b.1.1. Mô hình Boolean
Boolean là mô hình nghiên cứu chiến lượng, đơn giản nhất, và được thể hiện để đưa
ra ý tưởng cơ bản cho các chiến lượng xa hơn [4]. Hầu hết đồng ý rằng tất cả các chiến
lược nghiên cứu dựa trên việc so sánh giữa câu truy vấn và các tài liệu được lưu trữ. Mô
hình Boolean nghiên cứu chiến lược thu thập các tài liệu được gán giá trị “true” ứng với
truy vấn đó. Giả sử tài liệu dj được biểu diễn thành tập các thuật ngữ d j = { t1 , t 2 ,..., t k } , ở
đó ti là một thuật ngữ xuất hiện trong tài liệu dj. Một truy vấn được biểu diễn bằng một
biểu thức logic của các thuật ngữ bao gồm các toán tử AND, OR, và NOT.
Ví dụ với truy vấn:
Q=(K1 AND (NOT K2)) OR K3

Ở đây phép tìm kiếm Boolean sẽ nhận được tất cả các tài liệu có liên kết với K1
nhưng không liên kết với K2 hoặc các tài liệu có liên kết với K3.
Cụ thể hơn, với một câu truy vấn:

17


Q=(“TextMining” AND ((“Information Retrieval”) AND (NOT “Categorization”))

Hệ thống sẽ cố gắng tìm ra tất cả các tài liệu thuộc chủ đề “TextMining”, mà cụ thể
hơn là các phương pháp thu thập thông tin chứ không phải là các phương pháp phân lớp
văn bản.
b.1.1.1. Các hàm so sánh
Liên kết giữa truy vấn và tài liệu có thể được hiểu theo nghĩa một hàm so sánh. Các
hàm này thường rất đơn giản. Một triến lược được sử dụng gọi là chiến lược đơn giản
hoá phép so sánh.
Chiến lược này được sử dụng trong bộ biến đổi của phép tìm kiếm Boolean, ở đó
chỉ có các toán tử logic AND. Ý tưởng chính của chiến lược này được đưa ra khi xem xét

số lượng của các thuật ngữ chung trong câu truy vấn và trong tài liệu. Số này được gọi là
mức đồng sắp xếp và có thể được sử dụng như một hàm so sánh.
Ví dụ, các từ khoá K1, K2, K3 được liên kết với các tài liệu D1, D2, D3, D4 theo
cách sau:
K1 liên kết với D1, D2, D3, D4
K2 liên kết vơi D1, D2
K3 liên kết với D2, D3
và Q = K1 AND K2 AND K3
Với truy vấn Q, chúng ta sẽ có các mức đồng sắp xếp như sau:
3 D2
2 D1, D3
1 D4
b.1.1.2. Tìm kiếm tuần tự
Kỹ thuât tìm kiếm tuần tự là cơ sở của mô hình Boolean. Tuy nhiên ngày nay nó rất
thường xuyên được sử dụng mặc dù nó khá chậm. Nhưng với bất cứ cách nào, nó cho
thấy cách mà các hàm so sánh được sử dụng [4].
Đưa ra một tập các tài liệu và một truy vấn { D1 , D2 ,..., D N } và một truy vấn Q,
chúng ta đi tính N giá trị của hàm so sánh M(Q,Di). Để nhận được các tài liệu liên quan,
chúng ta cần sắp xếp các tài liệu giảm dần của hàm so sánh và bỏ đi tất cả các tài liệu ứng
với hàm so sánh nhỏ hơn một ngưỡng cắt cho trước. Ngưỡng này có thể được định nghĩa
như một giá trị hàm so sánh M hoặc là một gí trị so sánh với một văn bản nào đó. Thách
thức lớn nhất của kỹ thuật này là tìm được cách chọn giá trị ngưỡng cắt phù hợp.
Để thực hiện mô hình tìm kiếm Boolean, chúng ta có thể sử dụng một số kỹ thuật
hiệu quả. Tuy nhiên, các thuật toán đó không được đề cập trong bài nghiên cứu này.
b.1.1.3. Thực hiện
Mỗi một tài liệu cần được đánh chỉ mục (index) bởi một số thuật ngữ, mỗi thuật
ngữ này miêu tả nội dung của tài liêu. Các thuật ngữ này thường được gọi là các thuật
ngữ đã gắn chỉ mục hay các từ khoá. Để việc thu thập được thực hiện nhanh chóng,
chúng ta nên sắp xếp các từ này. Các từ khoá được lưu trữ trong tệp tin chỉ mục, và với


18


mỗi từ khoá thuộc bộ từ vựng sẽ có danh sách các tài liệu chứa từ khoá này. Để thoả mãn
một truy vấn, chúng ta sẽ thực hiện tìm kiếm trên file chỉ mục này.
Kỹ thuật này được sử dụng bởi nhiều hệ thống thương mại với các độ tối ưu khác
nhau của tệp tin chỉ mục tìm kiếm (ví dụ B-trees).
Các nhược điểm của kỹ thuật này là:
-

Lưu trữ quá nhiều (có thể cần không gian lưu trữ lên đến 300% so với kích
thước ban đầu)

-

Giá thành cập nhật và tổ chức lại chỉ mục cao

-

Giá thành hợp các danh sách tài liệu cao nếu chúng quá dài

Tuy nhiên, chúng cũng có các ưu điểm riêng:
-

Thực hiện dễ dàng

-

Tốc độ nhanh


-

Dễ dàng hỗ trợ các từ đồng nghĩa

b.1.2. Mô hình không gian vec-tơ (Vector space model - VSM)
Mô hình không gian vec-tơ được mở rộng từ mô hình Boolean trong việc thể
hiện các thuật ngữ của tài liệu [4]. Giống như mô hình Boolean, chúng ta gán nhãn các
tài liệu bởi tập các thuật ngữ. Nhưng trên thực tế, điểm khác nhau được ẩn trong việc
biểu diễn tài liêu. Tài liệu D được biểu diễn bởi một vec-tơ m-chiêu với các thông số
ứng với mỗi chiều là trọng số ứng với từng thuật ngữ cụ thể. Trong trường hợp này, m
là tổng sô thuật ngữ được đinh nghĩa để xác định nội dung của tài liệu. Trọng số được
tính bởi xác suất xuất hiện và độ quan trọng của từ khoá.
D=(w1, w2,..., wN)
Ví dụ, khi phân tích hai tài liệu D1 và D2 là hai bài nghiên cứu, liên quan đến
bệnh đâu đầu, ta có hai vec-tơ được hinh hoạ trên đồ thị 2-chiều như sau:
1.0
Magê
D1(0.25, 0.75)

D2(0.6, 0.2)
Đau đầu

1.0

Hình 3. Đồ thị biểu diễn các vec-tơ của bài báo D1 và D2
Các trọng số trên mỗi vec-tơ biểu diễn xác suất xuất hiện của các thuật ngữ trong
mỗi bài báo. Tài liệu D1, thuật ngữ Đau đầu, Magê xuất hiện với xác suất lần lượt là

19



0.75, 0.25. Tài liệu D2, thuật ngữ Đau đầu, Magê xuất hiện với xác suất lần lượt là 0.2,
0.6.
Trong mô hình này, một truy vấn được đối xử như một tài liệu [4] (xem hình 4).
Hay nói cách khác, chúng ta sẽ biểu câu truy vấn bởi một vec-tơ trọng số của các thuật
ngữ. Sau khi thực hiện việc phân tích câu truy vấn ta sẽ thu được một vec-tơ. Việc thực
hiện câu truy vấn này thực chất là việc so sách vec-tơ của câu truy vấn với các vec-tơ đại
diện cho các tài liệu theo một tiêu chuẩn nào đó. Kết quả ta sẽ thu được một danh sách
các tài liệu có quan hệ “gần” với câu truy vấn đã đưa ra. Tất nhiên, các tài liệu đó sẽ
được sắp xếp theo trình tự giảm dần và sẽ bị cắt ở một ngưỡng nào đó.
1.0

D1

query

Magê

D2
Đau đầu

1.0

Hình 4: Đồ thị biểu diễn quan hệ giữa truy vấn (query) và các
tài liệu D1, D2
Để tính vec-tơ biểu diễn một tài liệu, các từ riêng biệt trong tài liệu được tổ hợp lại.
Trên thực tế, việc thực hiện được thực hiện theo cách sau:
-

Các từ phụ được soá đi


-

Phân biệt các từ bởi khoảng trắng

Đối với Anh ngữ hoặc Pháp ngữ, mỗi từ được tách biệt bởi các khoảng trắng.
Nhưng ngôn ngữ tiếng Việt lại nảy sinh vấn đề từ đơn và từ ghép. Đây cũng là một vấn
đề khó khăn khi phân tách từ trong tiếng Việt. Ví dụ, với từ company trong tiếng Anh,
ứng với nó là từ công ty trong tiếng Việt. Do vấn đề về từ ghép nên gay nhiều hiểu nhầm
trong tiếng Việt. Các vấn đề đó gọi là sự mập mờ trong tiếng Việt. Ví dụ, với câu thuộc
địa bàn, ta có thể có hai cách phân tách thuộc địa|bàn và thuộc|địa bàn.
Như vậy, đối với tiếng Việt, chúng ta cần có các phương pháp tách từ đặc biệt hơn.
b.1.2.1. Tiếp cận phương thức TF * IDF
Trọng số của một thuật ngữ có thể được xác định theo nhiều cách. Cách tiếp cận
chung là sử dụng phương thức tf * idf, ở đó trọng số được tổng hợp bởi hai yếu tố:
-

Xác suất thuật ngữ (term frequency - tf) - đặc trưng cho xác suất xuất hiện
thuật ngữ trong tài liệu

-

Nghịch đảo xác suất của tài liệu (inverse document frequency - idf) - đặc
trưng cho xác suất của thuật ngữ trong toàn bộ tập hợp các tài liệu. Hay nói
20


cách khác, một thuật ngữ hiếm khi xuất hiện trong các tài liệu thì idf sẽ cao,
còn nếu nó xuất hiện thường xuyên trong các tài liệu thì idf sẽ thấp.
Ví dụ: công thức dưới đây được đề xuất có thể được dùng để tính các giá trị đã nói

ở trên [4]:
tf i = 0.5 + 0.5
idf i = log

f

i
max f

j

[4]

1
ty le cac tai lieu voi x

i

ở đó fi là xác suất xuất hiện thuật ngữ xi trong tài liệu. Phân số trong idf được tính
toán bằng phương pháp giải tích với khả năng xuất hiện xi trong tài liệu này.
b.1.2.2. Độ tương đồng (similarity)
Khi các trọng số các thuật ngữ được xác định, chúng ta cần một hàm sắp xếp để
định giá độ tương đồng giữa các vec-tơ truy vấn và tài liệu. Một số phép đo độ tương
đồng được thể hiện dưới đây. Ở đó Q và D lần lượt là các tập thuật ngữ trong truy vấn và
trong văn bản:
Q∩D
2

công thức đơn giản nhất


Q∩D

hệ số của Dice

Q+d

Q∩D

hệ số Jaccard

Q∪D
Q∩D
Q

1/ 2

+D

1/ 2

Q∩D
min( Q , D )

hệ số consin

hệ số nạp chồng

Một đánh giá độ tương đồng thông thường, được biết đến như đánh giá consin [4],
xác định góc giữa vec-tơ tài liệu và vec-tơ truy vấn bởi phép tính toán như một kết quả
nội tại. Đặc biệt, đánh giá này thường được tính với độ dài của vec-tơ. Độ tương đồng

được xác định theo công thức dưới đây [4]:
m

D.Q
sim( D, Q) =
=
D.Q

∑w u
i

i =1

m

∑ wi
i =1

2

i

m

∑u
i =1

2
i


Giả sử cả truy vấn và tài liệu được chuẩn hoá bởi độ dài của chúng, công thức sẽ trở
nên đơn giản hơn:

21


m

sim( D, Q) = D.Q = ∑ wi u i
i =1

Sau khi tất cả các tài liệu được so sánh với truy vấn, chúng sẽ được sắp xếp giảm
dần theo độ tương đồng, kết quả là một danh sách đã được sắp xếp của các tài liệu. Danh
sách này có thể được xử lý bằng cách sử dụng các kỹ thuật khác nhau.
b.1.2.3. Thực hiện
Mô hình không gian vec-tơ rất tốn công khi thực hiện, do đó trong thực tế một số
phép xấp xỉ đơn giản được sử dụng. Hiển nhiên là biểu hiện của các vec-tơ chỉ tồn tại
khái niệm ngữ. Trong thực tế, các vec-tơ hiếm khi được lưu trữ đầy đủ dài do tính thưa
của chúng. Ví dụ, có tất cả 300 thuật ngữ, tài liệu D chỉ đề cập đến 5 thuật ngữ, như vậy
không cần thiết phải lưu trữ tất cả các thông số ứng với vec-tơ tương ứng với tài liệu này.
Một mô hình không gian vec-tơ đầy đủ có thể được sử dụng hợp lệ để làm giảm độ
phức tạp của thuật toán [4]. Ý tưởng của mô hình là lưu trữ vec-tơ trong một tệp tin đã
được chuyển đổi. Tệp tin này trả về một danh sách các tài liệu với các từ khoá đặc biệt
cùng với thông tin về xác suất. Bên cạnh việc truy xuất theo chỉ mục, tệp tin chuyển đổi
cũng cải thiện các đặc tính thời gian của việc so sánh các vec-tơ. Kỹ thuật này cho ra một
phép tính toán chấp nhận được với những truy vấn tương đối nhỏ, còn với những truy vấn
lớn, phép tính phân số chuẩn hoá sẽ cực kì tốn kém. Nhược điểm thứ hai của kỹ thuật này
là cần tính toán các các phân số chuẩn sau khi có sự thay đổi của idf. Điều đó rất có thể
xảy ra trong thực tế, ví dụ khi ta thêm hoặc xoá đi một tài liệu trong tổ hợp.
Để ước lượng hiệu quả của phép chuẩn hoá, chúng ta sử dụng bình phương số

lượng các thuật ngữ trong một tài liệu như phân số chuẩn hoá. Với các trường hợp tài liệu
ngắn thì phép tính xấp xỉ không được chính xác, tuy nhiên kỹ thuật này cũng có một số
ưu điểm sau:
-

Ảnh hưởng của kích thước tài liệu trở nên không có ý nghĩa với bất cứ loại
chuẩn nào.

-

Độ phức tạp tính toán nhỏ hơn rất nhiều so với các kỹ thuật trước đây

-

Có thể tính toán trước

Như vậy, độ tương đồng có thể được thực hiện bởi công thức sau:
m

sim( D, Q) =

∑w u
i =1

i

i

so khai niem trong D


b.2. Các phương pháp dựa trí tuệ nhân tạo (AI-based method)
Các phương pháp trí tuệ nhân tạo thường dựa trí tuệ nhân tạo tập trung vào các giải
thuật huấn luyện máy học. Hay nói rõ hơn, cần phải có một quá trình huấn luyện cho máy
học phân loại văn bản trước khi sử dụng nó. Quá trình huấn luyện này rất quan trọng.
Nếu các mẫu huấn luyện hợp lý, kết quả thu được sẽ có chất lượng rất tốt. Nhưng ngược
lại, nếu quá trình huấn luyện không hợp lý thì có thể dẫn đến sụp đổ toàn bộ hệ thống.
Các phương pháp này thường phải đối mặt với một số vấn đề sau:

22


-

Giải thuật suy luận

-

Phương pháp lưu trữ thông tin hợp lý

-

Tránh sự sụp đổ sau một thời gian dài hoạt động

Hầu hết các giải thuật dựa trí tuệ nhân tạo thường gắn cả quá trình tự học trong khi
sử dụng. Yếu tố này quyết định độ thông minh của hệ thống. Nhưng sau một thời gian dài
hoạt đông, có thể hệ thống sẽ lâm vào tình trạng sụp đổ do trí tuệ tích luỹ quá nhiều, quá
trình tự học bị nhiễu, thông tin lưu trữ quá nhiều. Tất cả các lý do trên đều làm giảm hoạt
động của hệ thống. Do đó, các phương pháp này cần có sự tự điều chỉnh trong hoạt động.
Bên cạnh giải thuật tích luỹ trí tuệ cũng cần có giải thuật xén tri thức và loại nhiễu.
Sau đây chúng ta sẽ nghiên cứu cụ thể hơn về các phương pháp bày.

b.2.1 Kỹ thuật mạng Nơ-ron (Neural network)
Có thể nói tương đối mạnh rằng, các nghiên cứu gần đây về IR khá thành công
trong các kỹ thuật được đề xuất để “hiểu” nội dung của tài liệu và truy vấn, hay nói cách
khác là thực hiện được các phân tích ngữ nghĩa. Với mục tiêu này, hệ thống có thể áp
dụng các lĩnh vực tri thức cho các xử lý để tìm kiếm và thu thập thông tin. Thành công
này có được theo nghĩa đạt được khả năng học và khả năng tổng quát hoá của mạng Nơron (Neural network).
Với việc sử dụng mạng nơ-ron, chúng ta có thể biểu diễn một phần tượng trưng tri
thức trong lĩnh vực của bài toán, và có thể được sử dụng thành công trong hệ thống thu
thập thông tin.
b.2.1.1. Tổng quan vê mạng nơ-ron
Để có thể hiểu làm thế nào mạng nơ-ron có thể áp dụng cho xử lý thu thập thông
tin, chúng ta sẽ định nghĩa một số khái niệm được sử dụng trong lý thuyêt mạng nơ-ron.
Xây dựng các khối của mô hình tính toán cho mạng nơ-ron thành các đơn vị gọi là
nút mạng (neurode) mang rất nhiều các đặc tính của rơ-ron sinh học [4], hay nói đúng
hơn là các nút mạng này được mô phỏng theo các nơ-ron của động vật.
Ở các nút mạng ở Hình 5 thể hiện các phép toán logic AND. Đầu ra của nút mạng
sẽ sáng nếu các đầu vào đều sáng. Nó được thực hiện bởi phép so sánh với giá trị ngưỡng
(T) mà mọi đầu ra đều có. Hiển nhiên là việc thực hiện phép logic OR sẽ có giá trị
ngưỡng giảm còn 0.5 (xem Hình 5.b). Các giá trị trong ngoặc được gọi là các trọng số,
định nghĩa độ mạnh của liên kết. Trong mô hình tính toán của mạng nơ-ron, trọng số
thường được định nghĩa là giá trị nằm trong khoảng [-1, 1].
Trong trường hợp phức tạp hơn, ví dụ khi thực hiện phép toán NOR, chúng ta cần
nhiều hơn một đơn vị, các đơn vị đó gọi là đơn vị ẩn.
Mô hình tính toán mạng nơ-ron được biểu diễn bởi các thuật ngữ về kết nối của nó
(các mẫu kết nối) và trong các thuật ngữ về cách mà chúng được đào tạo (các luật sửa các
trọng số).

23



(1)

(1)
T=

T=

(1)

(1)

(a)

(b)

Hình 5. Mạng nơ-ron: toán tử AND (a) và toán tử OR (b)

0.5

1

-2

1
1.5

1

1


input

Hình 6. Mạng nơ-ron với lớp ẩn: toán tử NOR
b.2.1.2. Mô hình truyên ngược ba lớp
Mô hình được đề xuất là một mô hình ba lớp:
-

Lớp các thuật ngữ truy vấn (các nút mạng đầu vào) – Q layer

-

Lớp các tài liệu (các nút mạng đầu ra) – D layer

-

Lớp các chỉ mục (các nút ẩn) – T layer

Trong hình 7, chúng ta có các ký hiệu sau:
-

ti - chỉ mục thuật ngữ

-

Di - tài liệu

-

Qi - thuật ngữ truy vấn của người dùng


-

pij - trọng số kết nối giữa ngăn của mạng thuật ngữ và một ngăn của mạng
tài liệu

-

qi - trọng số liên kết giữa thuật ngữ của truy vấn và thuật ngữ ti

-

wij - giá trị liên kết giữa thuật ngữ ti và tj

-

dij - trọng số liên kết giữa tài liệu Di và tài liệu Dj
24


Hình 7: Mô hình biểu diễn mạng nơ-ron
Lớp thuật ngữ truy vấn biểu diễn các yêu cầu người dùng. Mỗi một nút là một thuật
ngữ trong truy vấn. Lớp tài liệu biểu diễn tập các tài liệu. Mỗi nút quy chiếu đến một tài
liệu. Các nút trong lớp này có các liên kết hai chiều có trọng số, thể hiện sự tương đồng
giữa các tài liệu. Giá trị tương đồng này được tính toán bởi trọng số ngữ nghĩa của các
thuật ngữ trong mỗi tài liệu. Lớp các thuật ngữ là lớp động. Mỗi nút biểu diễn một thuật
ngữ được đánh chỉ mục. Các liên kết có giá trị giữa các nút là các kết lối giữa các thuật
ngữ trong pha truy vấn.
Các liên kết có trọng số giữa các ngăn thuộc lớp thuật ngữ có chỉ dẫn và các ngăn
thuộc lớp thuật ngữ pij biểu diễn khả năng hay ý nghĩa của thuật ngữ ti trong tài liệu Dj.
Liên kết có trọng số qi định nghĩa độ quan trọng của thuật ngữ ti trong toàn bộ tổ hợp các

tài liệu. Các giá trị khởi đầu của các trọng số này có thể được trọng ngẫu nhiên hoặc với
bất cứ cách xác định nào. Nếu giá trị ngẫu nhiên được sử dụng, có thể ta sẽ phải đối mặt
với các vấn đề sau:
-

Thời gian học dài

-

Khó đạt được sự hội tụ

Để tìm ra trọng số wij (liên kết giữa ti và tj), chúng ta giả sử rằng độ liên kết giữa hai
thuật ngữ tăng khi đồng xuất hiện trong một tài liệu, và giá trị này chỉ giảm khi có một
lần xuất hiện trong một tài liệu.
Liên kết giữa hai tài liệu được biểu diễn bởi công thức sau:
R(Di,Dj) =

∑ P .P
+ P ) − ∑ P .P
ki

∑ (P

ki

i; j

kj

k


kj

ki

kj

k

b.2.1.3. Chức năng của mạng
Chức năng mạng gồm hai pha:
25


×