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
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ệ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.
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
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:
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
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
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
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ễ
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
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 đó:
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:
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ử
,
,
,
:
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
NO