Tải bản đầy đủ (.pdf) (62 trang)

Khai thác thông tin trên mạng xã hội phục vụ giám sát dịch bệnh

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 (3.69 MB, 62 trang )


i
Mục lục

Chương 1 Phần mở đầu 1
1.1 Giới thiệu chung 1
1.2 Ý tưởng khai thác các bất thường về những hành vi tự bảo vệ mình của
cộng đồng. 3
1.2.1 Con người thường làm gì khi có các vấn đề lo ngại về sức khỏe 3
1.2.2 Hệ thống cảnh báo sớm dựa trên phân tích các bất thường 4
1.3 Mục tiêu của luận văn 6
Chương 2 Tổng quan 8
2.1 Tổng quan về các ứng dụng giám sát sự phát triển của dịch bệnh 8
2.1.1 ProMED-mail (Program for Monitoring Emerging Diseases) 8
2.1.2 BioCaster 10
2.1.3 Một số hệ thống khác 12
2.2 Tổng quan về mạng xã hội và các ứng dụng trên mạng xã hội 12
2.3 Kỹ thuật phân loại văn bản bằng phương pháp máy học 13
2.3.1 Giới thiệu về phân loại văn bản 13
2.3.2 Phân loại văn bản bằng phương pháp máy học 14
2.4 Kết luận 25
Chương 3 Phân tích, thiết kế và cài đặt hệ thống 26
3.1 Giới thiệu DIZZIE và mục tiêu của hệ thống 26
3.2 Mạng xã hội Twitter 28
3.2.1 Lịch sử 28
3.2.2 Đặc điểm của mạng xã hội Twitter 28
3.3 Các bài toán của hệ thống 30
3.3.1 Kiến trúc chung 30
3.3.2 Download dữ liệu 31
3.3.3 Bài toán nhận diện (phân lớp) các hành vi bất thường bằng phương pháp máy
học 34


3.3.4 Phân cụm tweet theo thời gian và địa lý và phát hiện bất thường 46
3.3.5 Hiển thị trực quan lên giao diện bản đồ 48
Chương 4 Kết quả thực nghiệm và phân tích đánh giá 49
4.1 Thí nghiệm 49
4.1.1 Mô tả thí nghiệm 49
4.1.2 Thí nghiệm 1 (Trên kho ngữ liệu cân bằng) 50
4.1.3 Thí nghiệm 2 (trên toàn bộ kho ngữ liệu) 51
4.2 So sánh các thuật toán phân lớp và các tập đặc trưng khác nhau 52
4.2.1 So sánh giữa các thuật toán phân lớp 52
4.2.2 So sánh giữa các đặc trưng khác nhau 52
4.2.3 Kết luận 53

ii
Chương 5 Kết luận và hướng phát triển 54
5.1 Các kết quả đạt được 54
5.2 Hướng phát triển 55
Tài liệu tham khảo 56
Phụ lục A Trích dẫn bài báo khoa học đã công bố 59



iii
Các thuật ngữ và từ viết tắt


BoW : Bag of word (Túi từ)
TC : Text classification (Phân loại văn bản)
IR : Information Retrieval (Tìm kiếm thông tin)
SVM : Support Vector Machine
SRL : Simple Rule Language (Ngôn ngữ rút trích dựa trên luật)

TFIDF : Term frequency – Inverted document frequency.


iv
Danh sách hình

Hình 1 - Ví dụ về thống kê hành vi bất thường 4
Hình 2 - Đồ thị phát triển của dịch bệnh khi không có và có một hệ thống phát hiện
sớm 5
Hình 3 - Hoạt động của hệ thống ProMED-mail 9
Hình 4 - Tổng quan về hoạt động của hệ thống BioCaster 11
Hình 5 – Quy trình phân loại văn bản 15
Hình 6 - Quy trình phân loại văn bản 15
Hình 7 – DIZZIE – Mục tiêu của DIZZIE 27
Hình 8 – Kiến trúc chung của hệ thống DIZZIE 30
Hình 9 – Quy trình thực hiện của bài toán phân lớp văn bản 34
Hình 10 – Hình minh họa độ bất thường tại thời điểm t 47
Hình 11 – Minh họa thể hiện sự bất thường trên giao diện bản đồ 48


v
Danh sách bảng


Bảng 1 - Mã của một số ngôn ngữ theo chuẩn ISO 639-1 32
Bảng 2 - Ví dụ về các tài liệu trong kho ngữ liệu huấn luyện 35
Bảng 3 – Thống kê xuất hiện của các URL trong 53000 tweet 45
Bảng 4 - Thông tin kho ngữ liệu với tỉ lệ Positive:Negative=1:1 50
Bảng 5 - Kết quả phân lớp với tỉ lệ Positive:Negative=1:1. Đặc trưng: UNI (BOW),
BI (Bigram), SRL 50

Bảng 6 - Thông tin kho ngữ liệu với tất cả dữ liệu như trong kho ngữ liệu gốc 51
Bảng 7 - Kết quả phân lớp trên tất cả dữ liệu. Đặc trưng: UNI (Unigram), BI 51

1
Chương 1
Phần mở đầu
Tóm tắt:

Phần mở đầu giới thiệu các tiền đề dẫn đến nhu cầu của việc xây dựng một ứng
dụng khai thác thông tin trên mạng xã hội, phục vụ cho việc giám sát sự bùng phát
của các dịch bệnh; lý do của việc thực hiện đề tài và đưa ra mục tiêu của luận văn.
Phần tóm tắt nội dung từng chương của luận văn sẽ được trình bày ở cuối mục này.
1.1 Giới thiệu chung
Tiền đề 1: Nhu cầu xây dựng hệ thống cảnh báo sớm để phát hiện dịch bệnh
Hiện tại, vấn đề sức khỏe của con người là một trong những vấn đề được quan
tâm hàng đầu của nhân loại. Dân số tăng nhanh, bệnh tật ngày càng đa dạng và phức
tạp, trong khi hệ thống y tế của nhiều quốc gia nhất là các quốc gia đang phát triển lại
phát triển chậm. Do vậy, với những quốc gia này chi phí khám chữa bệnh tăng cao và
ảnh hưởng đến sự phát triển kinh tế của đất nước.
Ngoài sự đa dạng và phức tạp của bệnh tật là sự bùng nổ của các dịch bệnh có ảnh
hưởng nghiêm trọng đến con người. Những dịch bệnh này nếu không được kiểm soát
kịp thời thì nó có thể gây ra một tổn thất rất to lớn về kinh tế lẫn về con người và
thậm chí có thể gây ra thảm họa diệt vong hàng loạt. Tuy nhiên việc kiểm soát dịch
bệnh thường được làm sau khi dịch bệnh bùng phát nên tác hại của dịch bệnh rất lớn.
Do vậy đặt ra một nhu cầu là xây dựng các ứng dụng chăm sóc sức khỏe cộng đồng
và những hệ thống có khả năng phát hiện sớm các bất thường để phát hiện các dịch
bệnh bùng phát.
Tiền đề 2: Giải pháp hiện tại và nhược điểm.
Hiện tại đã có rất nhiều phương pháp và kênh thông tin để có thể nắm bắt được
tình hình phát triển của bệnh dịch. Các kênh thông tin có thể nhận được kết quả về

bệnh dịch như: từ các nghiên cứu của tổ chức y tế thế giới (WHO), từ những báo cáo

2
của các bệnh viện và trung tâm y tế, từ những báo cáo tình hình bán thuốc và sử dụng
dịch vụ chăm sóc sức khỏe của các cửa hàng tư nhân, từ những tổng đài hỏi đáp về
sức khỏe. Nhưng thời gian để phản hồi kết quả của các kênh thông tin này chậm, dẫn
đến những kết quả thu nhận được không có ý nghĩa trong việc phát hiện sớm và ngăn
ngừa sự phát triển của bệnh dịch
Tiền đề 3: Lượng tri thức khổng lồ trên mạng xã hội chưa được khai thác
Ngày nay với sự bùng nổ của Internet và thông tin làm đột phá khả năng chia sẻ
thông tin giữa cộng đồng. Chưa bao giờ việc chia sẻ thông tin lại có thể diễn ra một
cách dễ dàng và nhanh chóng đến như vậy. Nhờ đó, ngoài khái niệm thế giới thực mà
con người đang có, khái niệm thế giới ảo và mạng xã hội đã ra đời. Với mạng xã hội
con người có thể thực hiện được rất nhiều những nhu cầu của mình như xem tin tức,
giải trí, chia sẻ thông tin, tạo và mở rộng các quan hệ với một hay một cộng đồng
khác.
Sự phát triển như vũ bão của mạng xã hội đồng nghĩa với việc con người đưa
những tri thức của mình lên đó ngày càng nhiều. Do đó, nó đem lại một cơ hội rất lớn
cho những người khai thác thông tin, khai phá tri thức trên mạng xã hội để xây dựng
những ứng dụng phục vụ cho cộng đồng. Tuy nhiên cho đến nay, lượng tri thức này
chưa được khai thác đúng mức.
Tiền đề 4: Ưu điểm của mạng xã hội.
Sự phản ánh của cộng đồng người dùng ở trên mạng xã hội đối với các sự việc
diễn ra trong đời sống thực tế là tức thời.
Kết luận: Bốn tiền đề trên chính là những nguyên nhân của ý tưởng xây dựng hệ
thống giám sát dịch bệnh bằng cách khai thác thông tin trên mạng xã hội. Ý tưởng
này cụ thể hơn là khai thác những hành vi tự bảo vệ mình (self protection) của cộng
đồng để phát hiện ra các bất thường từ đó xây dựng một hệ thống cảnh báo sớm. Ý
tưởng này được trình bày chi tiết hơn ở phần sau.


3
1.2 Ý tưởng khai thác các bất thường về những hành vi tự bảo vệ
mình của cộng đồng.
1.2.1 Con người thường làm gì khi có các vấn đề lo ngại về sức khỏe
Phân tích câu trả lời của câu hỏi này chính là sẽ đưa đến ý tưởng xây dựng một hệ
thống phát hiện sớm các bất thường. Khi gặp các vấn đề lo ngại về sức khỏe con
người sẽ có những hành động tự bảo vệ mình, vậy con người thường sẽ làm gì? John
và Salathe [1] đưa ra danh sách những hành vi/việc làm con người thường làm để tự
bảo vệ mình khi có những lo ngại về sức khỏe như sau:
- Tránh những người bị ho hoặc hắt hơi (avoid people who cough/sneeze)
- Tránh tụ tập đông người (avoid large gatherings of people).
- Rửa tay thường xuyên hơn (wash hands more often)
- Tránh xa những người đã tiếp xúc với người nhiễm bệnh (avoid people
who are in contact with infected people)
- Tránh sử dụng các phương tiện giao thông công cộng (avoid public
transportation)
- Tránh các khu công cộng như trường học hoặc nơi làm việc (avoid
school/work)
- Tránh đi du lịch đến những khu vực bị ảnh hưởng (avoid travel to infected
areas)
- Tăng cường sử dụng các chất tẩy uế để làm sạch các bề mặt (increased use
of disinfectant to clean surfaces)
- Đeo khẩu trang (wear a mask)
- Tìm đến các dịch vụ và phương tiện chăm sóc y tế như đi khám bác sĩ,
tiêm và sử dụng các loại vắc-cin hoặc thuốc (seeking a pharmaceutical
intervention (vaccine and/or antiviral drugs))
- Hủy bỏ các sự kiện, hoạt động xã hội (canceling a social event)
- Giảm tần suất mua sắm (reducing the frequency of shopping trips)

4

Bằng việc giám sát những hành vi này trên mạng xã hội, ta có thể phân tích được
sự bất thường của các nó, nhờ đó có thể xây dựng một hệ thống để đưa ra các cảnh
báo sớm cho cộng đồng. Chi tiết hơn về hệ thống này được trình bày rõ trong mục
1.2.2.
1.2.2 Hệ thống cảnh báo sớm dựa trên phân tích các bất thường
Ý tưởng này dựa trên suy luận đơn giản là khi một dịch bệnh bùng phát thì các
hành vi tự bảo vệ của cộng đồng sẽ tăng một cách bất thường và những thông tin này
sẽ được thể hiện trên các mạng xã hội. Do đó, dựa trên mạng xã hội, ta có thể xây
dựng được một hệ thống có khả năng phân tích những bất thường của những loại
hành vi này để đưa ra các cảnh báo cho cộng đồng nhờ đó có khả năng kiểm soát
được sự bùng phát và phát triển của dịch bệnh.
Ví dụ: xét hành vi “Tìm đến các dịch vụ và phương tiện chăm sóc y tế”. Hình 1
minh họa số lượng blogger thực hiện hành vi này theo thời gian:

Hình 1 - Ví dụ về thống kê hành vi bất thường

5
Ở Hình 1, số lượng thông điệp của blogger có thực hiện hành vi này từ ngày 1 đến
6 là từ khoảng 50 đến 70, trong khi đó trong ngày 7, 8, số lượng này tăng đột biến lên
600 đến 700. Điều này có ý nghĩa rất lớn, bởi đã có một điều gì đó bất thường đã xảy
ra ở ngày 7, 8, có khả năng một dịch bệnh nào đó đang xảy ra ở cộng đồng. Và mục
tiêu của một hệ thống cảnh báo sớm là phát hiện những hành vi bất thường như vậy.
Nguyên nhân để làm tăng tính khả thi của việc xây dựng hệ thống này là: Mạng
xã hội là một phản ánh tức thời của cộng đồng, do đó một khi hệ thống này được xây
dựng nên, việc cảnh báo dịch bệnh bùng phát sẽ nhanh hơn so với các kênh thông tin
khác (từ tổ chức quốc tế WHO, từ các viện nghiên cứu về sức khỏe, …). Nhờ đó có
thể giảm được tác hại của dịch bệnh.

Hình 2 - Đồ thị phát triển của dịch bệnh khi không có và có một hệ thống phát hiện
sớm

Hình 2 trình bày mong muốn của một hệ thống cảnh báo sớm. Với trục tung biểu
thị mức độ nguy hiểm và trục hoành thể hiện thời gian phát triển của dịch bệnh. Với
đồ thị (1) thể hiện sự phát triển của dịch bệnh với sự cảnh báo thông thường thì mong
muốn của một hệ thống cảnh báo sớm sẽ làm cho sự phát triển của dịch bệnh sẽ giống
như đồ thị (2). Khi đó, tác hại của dịch bệnh đến với đời sống của con người sẽ được
giảm tối thiểu và dịch bệnh sẽ được kiểm soát nhanh chóng và kịp thời. Đó chính là ý
nghĩa của một hệ thống cảnh báo sớm.
t
level
(2) (1)
(1) Đồ thị phát triển của dịch bênh một cách tự nhiên
(2) Đồ thị phát triển của dịch bệnh khi có một hệ thống phát hiện sớm

6
1.3 Mục tiêu của luận văn
Để thực hiện được ý tưởng khai thác mạng xã hội, phát hiện các bất thường và
xây dựng một hệ thống cảnh báo sớm. Luận văn sẽ thực hiện các mục tiêu sau:
 Về mặt lý thuyết:
o Tìm hiểu tổng quan về các hệ thống đã được xây dựng.
o Nghiên cứu kỹ thuật khai thác văn bản và cụ thể là kỹ thuật phân
loại văn bản để nhận diện các hành vi cần giám sát từ những thông
điệp.
o Nghiên cứu cách xây dựng tập đặc trưng khái niệm để áp dụng
trong bước phân loại văn bản.
o Tìm hiểu cách xác định độ bất thường của các hành vi.
 Về mặt thử nghiệm và ứng dụng:
o Luận văn đưa ra một case-study xem như một giải pháp để xây
dựng một ứng dụng giám sát sự phát triển của các dịch bệnh bằng
cách khai thác thông tin trên mạng xã hội.
o Đưa ra kiến trúc của hệ thống ở mức thiết kế.

o Thử nghiệm ảnh hưởng của các tập đặc trưng, các thuật toán phân
lớp đối với kết quả phân lớp.
Với những mục tiêu đó, luận văn sẽ trình bày những nội dung sau:
 Chương 1- Giới thiệu các tiền đề dẫn đến sự cần thiết của việc xây dựng một
ứng dụng khai thác thông tin trên mạng xã hội phục vụ cho việc giám sát sự
bùng phát của các dịch bệnh, lý do của việc thực hiện đề tài và đưa ra mục tiêu
của luận văn. Phần tóm tắt nội dung từng chương của luận văn được trình bày
ở cuối chương này.
 Chương 2 - Chương này sẽ trình bày tổng quan những hướng nghiên cứu liên
quan đến luận văn. Bao gồm: các công trình liên quan đến những hệ thống
giám sát sức khỏe và dịch bệnh trên toàn cầu đã được xây dựng; một số đặc
điểm của mạng xã hội để cho thấy nó là một kho tri thức khổng lồ mà chưa
được khai thác hết; Và tổng quan về kỹ thuật phân loại văn bản.

7
 Chương 3 – Trình bày về kiến trúc bài toán và hướng tiếp cận. Chương này sẽ
trình bày kiến trúc chung của hệ thống sẽ xây dựng. Đề xuất các hướng tiếp
cận trong việc xây dựng các thành phần của hệ thống.
 Chương 4 – Kết quả thực nghiệm. Chương này trình bày các kết quả thực
nghiệm, kết quả phân lớp trên các tập đặc trưng khác nhau và các thuật toán
phân lớp khác nhau. Đưa ra các đánh giá về kết quả đạt được.
 Chương 5- Trình bày kết quả mà luận văn đạt được và hướng phát triển cho
mô hình mà luận văn đã đề xuất.

8
Chương 2
Tổng quan
Tóm tắt chương:

Nội dung chương này sẽ trình bày:

 Các hệ thống giám sát sức khỏe và dịch bệnh toàn cầu. Tiêu biểu là 2 hệ
thống giám sát BioCaster và ProMED-mail.
 Giới thiệu về mạng xã hội và đặc điểm cho thấy nó là một kho không tin
khổng lồ cần được khai phá tri thức.
 Trình bày tổng quan về kỹ thuật phân loại văn bản bằng phương pháp máy
học bao gồm các giai đoạn như: biểu diễn (tạo chỉ mục) tài liệu, các thuật
toán phân lớp và các độ đo để đánh giá một hệ thống phân loại văn bản.
Ngoài ra phần này cũng trình bày một số kỹ thuật để làm giảm số chiều của
tập đặc trưng trong bài toán phân loại văn bản.
2.1 Tổng quan về các ứng dụng giám sát sự phát triển của dịch
bệnh
2.1.1 ProMED-mail (Program for Monitoring Emerging Diseases)
ProMED-mail () là một hệ thống ra đời từ năm 1994,
được xây dựng nhằm đưa ra những cảnh báo về các dịch bệnh có khả năng bùng phát
toàn cầu liên quan đến thực vật, động vật và con người cũng như những dấu hiệu của
những cuộc chiến tranh hoặc khủng bố sinh học.
Nguồn dữ liệu của ProMED-mail thu thập các báo cáo dịch bệnh của các chuyên
gia từ khắp nơi trên thế giới, những báo cáo này sẽ được gửi cho những người dùng
đăng ký một cách tự động và hiển thị trên website của hệ thống sau một quá trình xử
lý nghiêm ngặt. Theo số liệu của [2], ProMED-mail có hơn 32,000 người đăng ký tin
từ 150 quốc gia. Quy trình xem xét và kiểm chứng các báo cáo được mô tả ở Hình 3.

10
phí để thực hiện hệ thống này rất cao vì đòi hỏi sự tham gia trực tiếp của con người.
Và thời gian trễ của hệ thống trong việc cung cấp tin tức cho người dùng phụ thuộc
rất nhiều vào các cá nhân cung cấp tin tức.
2.1.2 BioCaster
Dựa trên sự kết hợp của các thuật toán khai thác văn bản, mục đích của hệ thống
BioCaster [6] là cung cấp một kênh giám sát để cung cấp các cảnh báo sớm về các
dịch bệnh và những bệnh liên quan đến con người, động vật, thực vật trong môi

trường sống. Hệ thống BioCaster thực hiện điều này bằng cách thu thập các tin tức
được báo cáo trên mạng Internet, xử lý thông tin thu thập một cách tự động bằng kỹ
thuật phân tích ngôn ngữ tự nhiên và đưa ra những cảnh báo về những khuynh hướng
bất thường trong tập dữ liệu phân tích.
Kết quả của hệ thống được thể hiện bằng một giao diện bản đồ trực quan thông
qua Google Map, vì vậy, người dùng cuối có thể thấy được sự phân bố của các bệnh
tật trên khắp thế giới. Hệ thống cũng phân tích những sự kiện theo thời gian để phát
hiện ra những khuynh hướng bất thường và đưa ra những cảnh báo.
Để làm được điều đó, BioCaster đã sử dụng những kỹ thuật liên quan đến:
 Các thuật toán phân lớp để xác định được những tài liệu liên quan [7];
 Những kỹ thuật để nhận diện các thực thể có tên (NER) để nhận diện các
thực thể tên bệnh, địa điểm, thời gian;
 Kỹ thuật rút trích các sự kiện thể hiện mối quan hệ giữa các thực thể;
 Kỹ thuật phân tích các chuỗi dữ liệu thời gian-địa lý (geo-temporal).

11

Hình 4 - Tổng quan về hoạt động của hệ thống BioCaster
Hình 4 minh họa hoạt động của hệ thống giám sát sức khỏe toàn cầu BioCaster.
Đầu tiên, hệ thống sẽ thu tập các tin tức từ các website thông qua hơn 1700 RSS
1
. Sau
khi tin tức được thu tập, nó sẽ được xác định có liên quan đến dịch bệnh hay không.
Những tin tức liên quan tới dịch bệnh, sẽ qua một quá trình nhận diện các thực thể có
tên (tên bệnh, địa điểm, thời gian) và nhận diện sự kiện (tìm quan hệ giữa các thực thể
và điền vào trong một mẫu định sẳn). Kết thúc giai đoạn này sẽ tìm được các sự kiện
liên quan đến dịch bệnh (Ở đâu, khi nào, ai, bệnh gì, …). Thông tin này sau đó sẽ
được hiển thị lên một giao diện bản đồ cho thấy sự lây nhiễm và bùng phát của dịch
bệnh. Hoạt động của hệ thống này được đề cập chi tiết trong công trình [6] [8].
Nhận xét: Nhược điểm của hệ thống BioCaster là chỉ tập trung vào những tin tức

là một nguồn tin gián tiếp (không lấy trực tiếp từ người bị bệnh, hoặc phản ánh của
người dân, …) do đó sẽ có một độ trễ nhất định. Việc lựa chọn một danh sách định
sẵn các trang web không có ý nghĩa trong việc phát hiện một vùng bệnh dịch mới vì
phạm vi phủ sóng của một trang web sẽ bị giới hạn ở một số vùng nào đó (tùy theo



1
RSS là một cơ chế mà các hệ thống website cung cấp để hỗ trợ cho các ứng dụng bên ngoài có thể download nội dung các
trang web trong hệ thống website đó thông qua các URL.

12
chính sách làm việc của công sở hữu). Ngoài ra BioCaster không nhắm đến việc phân
tích hành vi của người dùng – yếu tố quan trọng trong việc phản ánh các thông tin về
dịch bệnh.
2.1.3 Một số hệ thống khác
Ngoài BioCaster và ProMED-mail đã được đề cập ở trên còn có rất nhiều hệ
thống khác đã được xây dựng nhằm tăng cường khả năng giám sát các dịch bệnh bao
gồm: MedISys [9] [10] ( ) (EU), GPHIN (Canada).
Ngoài ra còn có 2 hệ thống tương tự với BioCaster là EpiSpider
() và HealthMap (). Cả hai hệ
thống này đều thu thập các tin tức về sức khỏe liên quan đến người và động vật và
hiển thị dữ liệu lên Google Map.
2.2 Tổng quan về mạng xã hội và các ứng dụng trên mạng xã hội
Mạng xã hội hiện nay ra đời là kết quả tất yếu của sự bùng nổ thông tin trên
Internet. Nhu cầu chia sẻ thông tin và trao đổi thông tin ngày càng nhiều. Do vậy,
ngoài việc nhận được các thông tin chia sẻ, con người còn tạo dựng các mối quan hệ
trên mạng Internet. Dần dần, mạng Internet trở thành một thế giới ảo, trong đó mỗi
người đóng vai trò là một cư dân của thế giới đó với những đặc điểm nhận dạng, sở
thích, thông tin cá nhân, các mối quan hệ những phát ngôn cá nhân của mình.

Mạng xã hội tuy ảo, nhưng mà thật. Bởi do một con người thật đại diện cho nó.
Chính vì vậy mà qua cái ảo này thế giới thật được phản ánh. Do đó, nếu muốn khai
thác những thông tin mang tính cá nhân hóa như thăm dò dư luận thì mạng xã hội là
một nơi tất yếu cần phải được khai thác nếu không muốn thực hiện những cuộc khảo
sát trên thế giới thực.
Nhờ đó, nếu tận dụng được kho thông tin trên mạng xã hội này, chi phí để thực
hiện những cuộc khảo sát, thăm dò dư luận sẽ được giảm đáng kể. Bởi nếu muốn thực
hiện cuộc khảo sát ở thế giới thực, con người cần phải tốn rất nhiều thời gian và chi
phí (chi phí nhân lực, chi phí phương tiện, …).

13
Các loại mạng xã hội phục vụ cho những mục đích khác nhau, do đó tùy theo hình
thức và thông tin cung cấp của từng mạng xã hội sẽ có những cách khai thác khác
nhau. Hình thức văn bản thông qua các diễn đạt sử dụng ngôn ngữ tự nhiên là một
hình thức mà hầu hết người dùng ở tất cả các mạng xã hội đều sử dụng. Do đó, mạng
xã hội ra đời kéo theo một thách thức cho các nhà nghiên cứu làm sao có thể khai
thác những thông tin trên đó bởi ngoài việc là một kho tri thức khổng lồ, nội dung
trên mạng xã hội rất đa dạng và hỗn tạp (về nội dung, về cách diễn đạt, …).
Phần 2.3 sẽ trình bày về tổng quan về kỹ thuật phân loại văn bản bằng phương
pháp máy học để ứng dụng trong việc khai phá được kho tri thức khổng lồ này từ đó
xây được những ứng dụng phục vụ cộng đồng.
2.3 Kỹ thuật phân loại văn bản bằng phương pháp máy học
2.3.1 Giới thiệu về phân loại văn bản
Với sự phát triển của Internet, thông tin được tạo ra từng giờ, từng ngày. Internet
trở thành một kho thông tin, kho tri thức khổng lồ của nhân loại. Một vấn đề rất quan
trọng được đặt ra là làm sao có thể khai thác được các tri thức trong núi thông tin
khổng lồ đó. Đó chính là nhiệm vụ của bài toán khai thác thông tin trong văn bản.
Khai thác thông tin trong văn bản là một lĩnh vực nghiên cứu rộng có nhiệm vụ
phát hiện tri thức trong văn bản. Khai thác văn bản bao gồm những hướng nghiên cứu
nhỏ hơn: rút trích thông tin, phân loại thông tin, phân cụm thông tin,… tuy nhiên luận

văn chỉ trình bày một hướng nghiên cứu hẹp trong lĩnh vực khai thác văn bản – đó là
phân loại văn bản để phục vụ cho việc xây dựng hệ thống cảnh báo sớm dựa trên việc
phát hiện các hành vi bất thường.
Phân loại văn bản là một hoạt động thực hiện gán nhãn các văn bản vào một tập
các loại (nhãn) được định nghĩa trước. Một cách hình thức, phân loại văn bản là bài
toán gán một chân trị đúng sai T(đúng) hoặc F (sai) cho mỗi cặp






    với
 là tập các tài liệu cần gán nhãn và  










là tập các nhãn được định
nghĩa trước. Nếu giá trị của







là T thì tài liệu 

được gán nhãn 

. Ngược lại
nếu giá trị của






là F thì tài liệu 

không được gán nhãn 

[11].

14
Có 2 phương pháp để thực hiện phân loại văn bản: sử dụng luật và sử dụng
phương pháp máy học. Tuy nhiên, để phát hiện tập luận trong một kho tri thức khổng
thì rất mất thời gian và công sức, do đó hầu hết các công trình liên quan đến việc
phân loại văn bản đều sử dụng phương pháp máy học. Do vậy, luận văn chỉ trình bày
tổng quan về phương pháp phân loại văn bản bằng máy học để giải quyết bài toán
phân loại văn bản của hệ thống sẽ xây dựng.
2.3.2 Phân loại văn bản bằng phương pháp máy học
2.3.2.1 Quy trình chung
Để minh họa rõ ràng về các bước phải làm cho bài toán phân loại văn bản. Xét bài

toán cụ thể sau:
Cho một tập các lớp nhãn  



 

 

, cho trước kho ngữ liệu huấn
luyện , trong đó mỗi tài liệu 

  đã được gán một nhãn 

 .  còn được
gọi là kho ngữ liệu vàng .
Cho một tập các tài liệu 










.
Yêu cầu: Phân loại các tài liệu 


  vào các lớp 

  sử dụng các tri thức
trong kho ngữ liệu vàng .
Hình 6 mô tả quy trình của bài toán phân loại văn bản. Quy trình này được đề cập
trong công trình [12].
Đầu tiên, ta phải tìm một hình thức để biểu diễn một tài liệu. Với phương pháp
biểu diễn tài liệu bằng mô hình vector, mỗi tài liệu sẽ được ánh xạ thành một vector
đặc trưng cho tài liệu đó. Trong đó mỗi giá trị trong vector tương ứng với giá trị của
một thuộc tính trong tập thuộc tính (thường gọi là tập đặc trưng). Vậy để biểu diễn
được tài liệu bằng mô hình vector thì có 2 bước quan trọng phải xác định, đó là xác
định được tập đặc trưng và phương pháp để xác định các giá trị trong vector với một
tài liệu cho trước dựa trên tập đặc trưng này. Tập đặc trưng thường được xác định dựa
vào nội dung hoặc tri thức trong kho ngữ liệu huấn luyện.

16
Sau đó, để sử dụng tri thức trong kho ngữ liệu bằng phương pháp máy học, cần
phải tạo một bộ phân lớp dựa vào. Việc tạo bộ phân lớp được thực hiện nhờ các thuật
toán phân lớp với đầu vào tập vector của các tài liệu trong kho ngữ liệu huấn luyện.
Sau khi bộ phân lớp đã được tạo ra, lúc này có thể sử dụng bộ phân lớp để thực
hiện việc phân lớp cho một tài liệu bất kỳ. Việc biểu diễn tài liệu cần phân lớp cần
phải sử dụng cùng phương pháp và tập đặc trưng như đã sử dụng để biểu diễn các tài
liệu trong kho ngữ liệu huấn luyện.
Để bộ phân lớp đã được tạo ra có thể sử dụng được, cần phải thực hiện đánh giá
hiệu quả của độ phân lớp bằng cách so sánh kết quả phân lớp của bộ phân lớp so với
kết quả phân lớp được thực hiện bởi chuyên gia trên mộ tập dữ liệu kiểm thử.
Chi tiết hơn về các bước của quy trình phân loại văn bản được trình bày trong các
mục còn lại trong phần này.
2.3.2.2 Chuẩn hóa tài liệu
Mục tiêu của bước chuẩn hóa tài là nhằm chuẩn hóa hình thức biểu diễn để dễ

dàng cho việc xử lý, ngoài ra bước chuẩn hóa này có khả năng làm tăng hiệu quả
phân lớp và làm giảm kích thước tập đặc trưng nhờ đó có thể làm tăng tốc độ thực thi
của hệ thống. Một số bước chuẩn hóa có thể được thực hiện như sau:
 Chuyển các từ về hình thức nguyên bản (stemming). Ví dụ : chuyển
“goes”  “go”; “going”  “go”, “watched”  “watch”, …
 Xóa bỏ các từ chức năng (function words) như trạng từ, giới từ, liên từ, …
 Xóa bỏ các từ không liên quan, không có ảnh hưởng đến kết quả phân lớp.
 Thay thế hình thức biểu diễn của một số nội dung trong tài liệu: Chuẩn hóa
cách biểu diễn của dấu câu, …
Bước chuẩn hóa tài liệu này là không bắt buộc.
2.3.2.3 Xác định tập đặc trưng và tạo chỉ mục tài liệu
Do các thuật toán phân lớp các đối tượng trong máy học được đưa ra để giải quyết
các lớp bài toán khác nhau: từ phân lớp các đối tượng văn bản đến hình ảnh, video,…
vì vậy, các đối tượng không thể trực tiếp được xử lý bởi một bộ phân lớp hoặc một
thuật toán tạo ra bộ phân lớp. Vì lý do đó mà tất cả các đối tượng cần phân lớp sử

17
dụng phương pháp máy học cần được biểu diễn bằng một hình thức thống nhất. Bước
này còn gọi là biểu diễn tài liệu (còn được gọi với tên khác là tạo chỉ mục tài liệu).
Một cách rõ ràng hơn, biểu diễn tài liệu hay tạo chỉ mục tài liệu là bước ánh xạ
một tài liệu sang một dạng biểu diễn duy nhất để dễ dàng thực hiện các bước huấn
luyện, kiểm chứng và thực thi hệ thống. Nói một cách đơn giản hơn, quá trình tạo chỉ
mục tài liệu chính là tìm một cách biểu diễn thống nhất cho các tài liệu để thuận tiện
cho các pha xử lý sau trong bài toán phân lớp văn bản.
Sự lựa chọn một hình thức biểu diễn cho văn bản phụ thuộc vào những gì liên
quan đến các đơn vị ngữ nghĩa của văn bản (lexical semantics) và các quy tắc của
ngôn ngữ tự nhiên để kết hợp các đơn vị ngữ nghĩa này (compositional semantics).
Tương tự lĩnh vực truy tìm không tin (IR), trong lĩnh vực phân lớp văn bản mỗi tài
liệu được biểu diễn sử dụng mô hình không gian vector (Vector space documentation
representation). Khi đó, mỗi tài liệu 


thường được biểu diễn như là một vector
trọng số 















với :
  là tập các thuật ngữ (được gọi là tập đặc trưng hoặc tập các thuộc tính).
Mỗi đặc trưng này xuất hiện ít nhất một lần trong toàn bộ kho ngữ liệu
huấn luyện.
 

biểu thị độ đóng góp của thuật ngữ 

trong ngữ nghĩa của tài liệu 

.
Có nhiều cách tiếp cận khác nhau trong việc tạo chỉ mục tài liệu bằng mô hình

không gian vector do bởi sự tổ hợp của:
 (1) Các cách khác nhau để biểu diễn một thuật ngữ.
 (2) Các cách khác nhau để tính toán giá trị trọng số của mỗi thuật ngữ.
Có nhiều phương pháp khác nhau để để xác định một thuật ngữ. Và phương pháp
xác định này thường dùng để gọi tên phương pháp xác định tập đặc trưng:
 Phương pháp túi từ (“set of words” hoặc “bag of word” - BoW): Là
phương pháp cơ bản nhất trong việc biểu diễn tài liệu. Trong phương pháp
này mỗi thuật ngữ trong tập đặc trưng là một từ đơn của ngôn ngữ (một
đơn vị thông tin). Bất kỳ một từ nào trong tập đặc trưng này phải xuất hiện
ít nhất một lần trong kho ngữ liệu.

18
 Phương pháp sử dụng chuỗi từ (sequence-words): mỗi thuật ngữ trong tập
đặc trưng là một chuỗi liên tiếp các từ và chuỗi từ này xuất hiện ít nhất một
lần trong kho ngữ liệu theo thứ tự tương ứng. Chuỗi từ này có thể là:
o Cụm từ (phrase), mệnh đề (clause), câu (sentence).
o n-gram (

): mỗi thuật ngữ là một chuỗi có độ dài gồm nhiều từ
đơn giống như cụm từ, tuy nhiên chuỗi từ tạo bởi  từ đơn này
không cần phải có nghĩa.
 Phương pháp sử dụng khái niệm: trong phương pháp này mỗi phần tử
trong tập đặc trưng có thể xem như một khái niệm được biểu diễn bởi một
luật.
Có nhiều phương pháp để tính toán trọng số của mỗi thuật ngữ:
 Giá trị trọng số của các thuật ngữ thường nằm trong đoạn [0, 1]. Trường
hợp đặc biệt là kiểu biểu diễn nhị phân (binary weight). Trong trường hợp
này giá trị của các trọng số là 0 hoặc 1 để chỉ ra sự vắng mặt hay hiện diện
của thuật ngữ đó trong tài liệu.
 Trong việc tạo chỉ mục tài liệu theo kiểu không nhị phân (non-binary) . Có

thể sử dụng các phương pháp trong kỹ thuật IR để xác định trọng số các
thuật ngữ nhưng hầu hết đều dựa trên giá trị chuẩn là  (term
frequency - inverted document frequency):
o Công thức tính  thường được dùng :







 



 












Trong đó:
 




 (term frequency - TF) là số lần xuất hiện của thuật
ngữ 

trong tài liệu 

. Giá trị này có nghĩa là nếu một thuật
ngữ xuất hiện càng nhiều trong 1 tài liệu thì thuật ngữ này
càng quan trọng trong việc xác định nội dung của tài liệu.
 






(inverted document frequency - IDF): số tài liệu
trong kho ngữ liệu 

mà nội dung của nó có chứa thuật ngữ

19


. Ý nghĩa của IDF là nếu từ càng xuất hiện trong nhiều
càng tài liệu thì ý nghĩa của nó trong việc phân loại sẽ càng
giảm.
o Để chuẩn hóa giá trị trọng số nằm trong khoảng [0,1], giá trị 

thường được chuẩn hóa theo công thức Cosine.
o Sử dụng để biểu diễn một tài liệu được đưa ra trong công
trình của Salton và Bukley [13].
o Ngoài sử dụng hàm  là hàm phổ biến nhất để tính trọng số của
các thuật ngữ, một số hàm khác cũng được sử dụng bao gồm sử
dụng các kỹ thuật xác suất [14] hoặc kỹ thuật để tạo chỉ mục cho
các tài liệu có cấu trúc [15]. Những hàm này đặc biệt cần khi 


không xác định thì giá trị 






không tính được.
Ngoài mô hình biểu diễn tài liệu bằng không gian vector thì còn có nhiều công
trình đưa ra các mô hình biểu diễn tài liệu khác như: mô hình Boolean, mô hình xác
suất, mô hình mạng suy diễn, …
Một số hướng nghiên cứu gần đây liên quan đến bài toán tạo chỉ mục tài liệu liên
quan đến:
 Mở rộng tập đặc trưng.
 Đưa ra cách xác định đặc trưng mới.
2.3.2.4 Bài toán giảm số chiều của tập đặc trưng (dimension reduction – DR)
Số chiều của tập đặc trưng ở đây được hiểu là kích thước của các vector mà biểu
diễn tương ứng các tài liệu. Lưu ý rằng trong phương pháp biểu diễn các tài liệu bằng
mô hình vector thì tất cả các tài liệu được biểu diễn bởi những vector có độ dài bằng
nhau.
Các lợi ích và khuyết điểm khi giảm số chiều đặc trưng:

 Khác với các thuật toán trong lĩnh vực IR, các thuật toán máy học làm việc
kém hiệu quả khi số chiều của tập đặc trưng lớn.

20
 Giảm hiệu ứng over-fitting. Hiệu ứng over-fitting nghĩa là thuật toán phân
lớp chỉ nhận diện tốt những tài liệu có trong tập huấn luyện nhưng phân
lớp rất kém những tài liệu mới.
 Việc giảm kích thước tập đặc trưng sẽ làm tăng tốc độ thực thi, tuy nhiên,
một rủi rủi ro khi thực hiện giảm số chiều đặc trưng là có thể xóa bỏ các
đặc trưng mang những ý nghĩa tiềm tàng đối với tài liệu làm giảm độ chính
xác của hệ thống. Do đó vấn đề tốc độ và độ chính xác cần phải được quan
tâm và cân bằng khi thực hiện rút gọn đặc trưng.
Có nhiều cách phân loại các phương pháp rút gọn tập đặc trưng:
 Phân loại theo kỹ thuật thực hiện:
o Cục bộ (local): với những thuật toán kiểu cục bộ, sẽ xác tập đặc
trưng kết quả cho từng lớp sau đó tổng hợp lại thành tập đặc trưng
cuối cùng.
o Toàn cục (global): khác với những thuật toán kiểu cục bộ, tại mỗi
bước của thuật toán kiểu toàn cục, có thể xem tập đặc trưng đang
xét là tập cuối cùng. Do đó, thuật toán kiểu toàn cục sẽ dừng khi
thỏa một điều kiện nào đó (ví dụ: không tìm được tập đặc trưng nào
tốt hơn hoặc điểm của tập đặc trưng thỏa mãn một ngưỡng nào đó).
 Phân loại dựa vào bản chất của tập đặc trưng kết quả. Có 2 cách rút gọn
đặc trưng theo cách phân loại này:
o Giảm số chiều đặc trưng bằng cách lựa chọn thuật ngữ trong tập
đặc trưng gốc (term selection). Do đó, tập đặc trưng kết quả là một
tập con của tập đặc trưng ban đầu.
o Giảm số chiều đặc trưng bằng cách rút trích thuật ngữ (term
extraction) từ tập đặc trưng ban đầu. Với phương pháp này, tập đặc
trưng kết quả có thể khác loại với tập đặc trưng ban đầu. Do đó, nó

sẽ không còn là tập con của tập đặc trưng gốc.

21
2.3.2.5 Các thuật toán phân lớp
Nhiệm vụ của các thuật toán phân lớp là xây dựng bộ phân lớp từ các vector đặc
trưng biểu diễn cho các tài liệu trong tập huấn luyện (các vector này có được sau quá
trình tạo chỉ mục). Khi bộ phân lớp được xây dựng xong, nó có khả năng dự đoán,
phân loại các tài liệu trong tương lai.
Hiện tại, có rất nhiều thuật toán phân lớp đã được nghiên cứu. Nội dung phần này
sẽ trình bày tổng quan một số thuật toán phân lớp tiêu biểu: Naïve Bayes, SVM, …
2.3.2.5.1 Thuật toán Naïve Bayes
Đây là một thuật toán cơ bản trong bài toán phân loại được đề xuất trong công
trình của Lewis, thuật toán này là một thuật toán được đánh giá là đơn giản, hiệu quả
[16], [12], [17]. Thuật toán này có nhược điểm là có độ chính xác thấp nhưng độ bao
phủ cao. Ý tưởng của Naïve Bayes là gán nhãn tài liệu 

vào lớp 

nếu xác suất




 là lớn nhất.
2.3.2.5.2 Thuật toán SVM
Đây là thuật toán mang lại độ chính xác rất cao nhưng độ bao phủ thấp. Tính hiệu
quả của nó đã được nhiều công trình chứng minh. Với những hệ thống cần độ chính
xác thì SVM là một lựa chọn tốt.
Trong thuật toán SVM, việc phân lớp nhị phân các phần tử trong tập hợp được
thực hiện giống như là tìm một mặt phẳng sao cho tổng khoảng cách của các phần tử

trong tập hợp đến mặt phẳng đó là cực đại. Do đó, để phân lớp bằng thuật toán SVM
cần phải cung cấp cho nó một hàm tính khoảng cách giữa 2 phần tử bất kỳ. Hàm
khoảng cách này gọi là hàm kernel. Có 4 hàm kernel phổ biến được đề cập trong
thuật toán SVM trong các bài báo [18], [19] là:
 Linear
 Radial basis function (RBF)
 Polyminal
 Sigmoid

22
Trong đó, RBF kernel được bài báo [19] đề nghị sử dụng vì nó dung hòa được tốc
độ xử lý và hiệu quả phân lớp. Thuật toán SVM khi sử dụng với kernel này cần phải
cung cấp 2 tham số đầu vào là C (tham số của thuật toán SVM) và Gamma (tham số
của kernel RBF). Tuy nhiên, SVM hoạt động khác nhau với các bộ giá trị tham số C
và Gamma khác nhau và để tối ưu các tham số này cần thực hiện một quá trình tối ưu
thông qua phương pháp Grid-Search. Chi tiết về các kernel của thuật toán SVM và
phương pháp tìm các tham số tối ưu có đề cập trong bài báo [19].
2.3.2.6 Phương pháp đánh giá một hệ thống phân loại văn bản
Sau quá trình tạo chỉ mục tài liệu và xây dựng bộ phân lớp, cần phải đánh giá kết
quả phân lớp để xem xét khả năng sử dụng các phương pháp đã chọn trong việc triển
khai một hệ thống chạy được. Cũng như một hệ thống tìm kiếm văn bản, một hệ
thống phân loại văn bản cũng được đánh giá thông qua thực nghiệm hơn là sử dụng
phân tích hoạt động của thuật toán. Bao gồm các độ đo và phương pháp để thực hiện
đánh giá:
a) Các độ đo được sử dụng trong một hệ thống phân loại văn bản
Các khái niệm cơ sở để xác định độ đo TP, FP. FN, TN:
Xét bảng kết quả sau khi phân lớp một tài liệu vào lớp 

với các giá trị cơ bản



, 

,

, 

:
Category



Kết quả phân lớp
của chuyên gia
YES
NO
Kết quả của bộ
phân lớp
YES






NO







Bảng kết quả đánh giá toàn cục với nhiều lớp và nhiều tài liệu:
Category
 











Kết quả phân lớp của chuyên gia
YES
NO
Kết quả
của bộ
phân lớp
YES
 









 








NO
 








 









×