Website: Email : Tel (: 0918.775.368
MỤC LỤC
MỤC LỤC....................................................................................................................1
Website: Email : Tel (: 0918.775.368.....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............................................................11
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..................................................................................................32
c.1. Từ đơn - từ ghép.....................................................................................32
c.2. Từ loại.....................................................................................................33
c.3. Dùng từ cấu tạo ngữ................................................................................34
d. Câu tiếng việt................................................................................................34
d.1. Câu đơn...................................................................................................35
d.2. Câu ghép.................................................................................................35
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...............................................36
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
2
TỪ ĐIỂN THUẬT NGỮ...........................................................................................42
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 D
1
và D
2
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 đổ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
5
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 đó. 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, có 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ơ-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)...
8
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”
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”
9
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.
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
10
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 đó 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
11
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
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ề
12
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ố
i
k
w
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:
∑
∑
∈
∈
=
Di
k
i
Di
k
i
j
i
j
k
n
nr
w
[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,
j
i
r
là phép đo sự phù
hợp của tài liệu i với chủ đề j, và
k
i
n
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
phép đo độ phù hợp
j
i
r
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 đó
biểu thức của các trọng số có thể được đơn giản hóa:
∑
∈
=
Di
k
i
j
k
n
w
1
[1].
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.
Như vậy, trọng số
j
w
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 w
j
chủ đề qua những tài liệu trong cơ sở dữ liệu. Một cách đơn giản để tính
toán một khả năng phân biệt là đo nó một cách rời rạc:
∑
∈
−=
Di
j
i
j
Mrw
2
)(
, ở đó
13
∑
∈
=
Di
j
i
DrM /
là giá trị trung bình của
j
i
r
qua cơ sở dữ liệu hiện thời D, và
j
i
r
được xác
định bởi giải thuật này mà không tính đến giá trị w
j
. 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)
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 d
j
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ơ
→
j
d
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 d
j
. Đa số các phướng pháp phân loại như vậy sử dụng biểu diễn 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 c
i
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
lúa mì lúa mì
nông trại nông trại giạ giạ
thương nghiệp
thương nghiệp xuất khẩu
xuất khẩu
nông nghiệp
tấn tấn
nông nghiệp
lúa mìlúa mì
lúa mì
lúa mì
lúa mì
lúa mì lúa mì
lúa mì
Hình 1: Một ví dụ về cây quyết định
14
luyện có cùng nhãn với nó (hoặc
i
c
hoặc
→
i
c
); nếu không, lựa chọn một khái niệm t
k
, phân
chia cây thành các lớp tài liệu có cùng giá trị t
k
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ù c
i
, 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ữ t
k
ở đó 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
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
Thông tin cần thiết
Truy vấn
Gửi cho Hệ thống
Nhận kết quả
Đánh giá kết quả
Tốt
?
Dừng lại
Đúng
Công thức hoá lại
Sai
Hình 2. Mô hình thu thập thông tin chuẩn
16