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

Mô hình tự động phát hiện chủ đề nóng trên các trang thông tin điện tử tiếng Việt dựa trên thuật toán phân cụm DBSCAN cải tiến

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

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>MƠ HÌNH TỰ ĐỘNG PHÁT HIỆN CHỦ ĐỀ NĨNG TRÊN CÁC </b>
<b>TRANG THƠNG TIN ĐIỆN TỬ TIẾNG VIỆT DỰA TRÊN THUẬT </b>


<b>TOÁN PHÂN CỤM DBSCAN CẢI TIẾN </b>


Nguyễn Nhật An*, Cao Đăng Huy


<i><b>Tóm tắt: Hiện nay, với sự phát triển mạnh mẽ của công nghệ thông tin, số lượng </b></i>
<i>thông tin được chuyển tải trên các trang thông tin điện tử (báo điện tử, mạng xã </i>
<i>hội, blog...) càng lớn. Việc theo dõi thông tin nhằm phát hiện ra các vấn đề mới, </i>
<i>nóng (chủ đề nóng) được dư luận quan tâm, theo dõi chiều hướng phát triển của </i>
<i>chúng để dự báo các nguy cơ được xem là rất quan trọng đối với nhiều lĩnh vực, </i>
<i>đặc biệt đối với lĩnh vực an ninh quốc phòng. Bài báo này đề xuất mơ hình tự động </i>
<i>phát hiện chủ đề nóng trên các trang thông tin điện tử tiếng Việt trong một khoảng </i>
<i>thời gian dựa trên thuật toán phân cụm DBSCAN cải tiến và cách xác định “độ </i>
<i>nóng” của các chủ đề được phân cụm. </i>


<b>Từ khố</b>: Chủ đề nóng tiếng Việt; Thuật tốn phân cụmDBSCAN cải tiến; “Độ nóng”chủ đề.


<b>1. ĐẶT VẤN ĐỀ </b>
<b>1.1. Giới thiệu </b>


Với sự phát triển nhanh chóng của cơng nghệ thông tin, thông tin các sự kiện
xảy ra được đăng tải trên các trang thông tin điện tử trên Internet đã trở thành một
trong những nguồn thông tin quan trọng. Theo báo cáo thống kê của Bộ Thông tin
và Truyền thơng, tính đến năm 2016, Việt Nam có số lượng người sử dụng Internet
lớn, đạt tỷ lệ khoảnglà 62,76% dân số [1]. Số báo điện tử là 135, chủ yếu là báo
điện tử của các cơ quan báo chí in; Số trang thơng tin điện tử của các cơ quan báo
chí được cấp phép là 258 [2], ngồi ra, cịn hàng trăm trang tin khơng chính thống
cũng tham gia tổng hợp, truyền tải thơng tin trên mạng. Khi có một sự kiện xảy ra,
lập tức các phóng viên viết bài và đăng trên trang thơng tin điện tử của mình với


các quan điểm khác nhau, số lượng thông tin tăng lên nhanh chóng. Do vậy, việc
phát hiện, phân cụm chủ đề, theo dõi chủ đề nóng một cách tự động trở nên cần
thiết, là giải pháp để xử lý vấn đề quá tải thông tin. Vấn đề này đã được nhiều nhà
khoa học quan tâm và được gọi chung là bài toán “Phát hiện và theo dõi chủ đề”
(Topic Detection and Tracking) [6].


<b>1.2. Các nghiên cứu liên quan </b>


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

thời gian và lý thuyết lão hoá [14]; PGS.TS Đỗ Phúc đề xuất mô hình phát hiện
chủ đề nóng trên mạng xã hội dựa trên lý thuyết lão hoá [13]...


Tuy nhiên, các cơng trình trên chủ yếu thực hiện việc phát hiện và theo dõi
chủ đề tiếng Anh mà chưa có các cơng trình nghiên cứu cho tiếng Việt. Do vậy,
chúng tơi tập trung nghiên cứu, đề xuất mơ hình phát hiện chủ đề nóng trên các
trang thơng tin điện tử tiếng Việt và xem xét tính hiệu quả của phương pháp đề
xuất dựa vào lựa chọn thuật toán phân cụm phù hợp và cách xác định thế nào là
“chủ đề nóng”.


Nghiên cứu của chúng tơi giải quyết hai vấn đề chính: Một là, đề xuất sử dụng
thuật toán phân cụm DBSCAN cải tiến để tự động phân cụm các chủ đề tiếng Việt;
hai là, dựa trên số lượng bài viết, số lượng trang thông tin điện tử đăng tải, trọng số
trang thông tin điện tử để đánh giá “độ nóng” của các chủ đề được phân cụm. Sau
đó, chúng tơi tiến hành thử nghiệm trên tập dữ liệu thu thập và đánh giá chúng.


Bài báo được trình bày theo thứ tự sau: Phần 2 trình bày nội dung nghiên cứu;
Phần 3 trình bày các kết quả thử nghiệm và đánh giá; cuối cùng kết luận được
trình bày trong Phần 4.


<b>2. NỘI DUNG CẦN GIẢI QUYẾT </b>
<b>2.1. Mơ hình đề xuất </b>



<i><b>Hình 1.</b> Mơ hình phát hiện chủ đề nóng.</i>


Mơ hình phát hiện chủ đề nóng bao gồm hai bước:


Bước 1: Phát hiện chủ đề dựa trên thuật toán phân cụm văn bản


Bước 2: Phát hiện chủ đề nóng bằng cách tính “độ nóng” cho các chủ đề đã
được xác định ở bước 1 dựa vào các đặc trưng: số văn bản trong chủ đề; thời gian
xuất hiện;“độ chính thống” của các trang thông tin điện tử (trang thông tin điện tử
được cấp phép hay trang tin tổng hợp không được cấp phép)...


<b>2.2. Phát hiện chủ đề </b>


Trang
thông tin
điện tử 1


Trang
thông tin
điện tử 2


Trang
thông tin
điện tử n


Phân
cụm
văn
bản



Chủ đề 1


Chủ đề 2


Chủ đề m


Tính “độ
nóng”, sắp
xếp chủ đề
theo “độ


nóng”


Chủ đề
nóng 1


Chủ đề
nóng 2


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

Mục tiêu của phát hiện chủ đề là xác định những vấn đề liên quan đến nhau
được trình bày trong các bài viết. Đó chính là bài tốn phân cụm văn bản, mục đích
của bải tốn này là tự động nhóm các bài viết về cùng một vấn đề vào một cụm
nhất định. Trong nghiên cứu này, chúng tôi lựa chọn thuật toán DBSCAN cải tiến
để phân cụm văn bản, thuật toán này dựa trên thuật toán DBSCAN gốc và cải tiến
cách tự động tính giá trị của các tham số <i>eps</i>, <i>MinPts</i> dựa trên các thuộc tính thống
kê của bộ dữ liệu đầu vào.


<b>Vector hóa văn bản </b>



Để sử dụng được thuật toán DBSCAN cải tiến để phân loại văn bản, ta cần mơ
hình hóa văn bản thành vector. Cụ thể, ta sẽ sử dụng mơ hình Bags of words (word
count document representation). Mơ hình này biểu diễn văn bản như những điểm
trong không gian Euclid <i>m</i>-chiều, mỗi chiều tương ứng với một từ trong tập hợp <i>m</i>


từ khác nhau của tập văn bản. Giá trị của các thành phần trong vector này được
tính bằng tính bằng cơng thức TF*IDF. Đây là công thức giúp đánh giá mức độ
quan trọng của một từ đối với văn bản trong một tập văn bản. Trong đó:


o TF (term frequency) là tần số xuất hiện của một từ trong một văn bản.


o IDF (inverse document frequency) là tần số nghịch của 1 từ trong tập văn bản.
Để giảm chiều của vector, trong bước xây dựng vector cho văn bản tiếng Việt
các hư từ sẽ bị loại bỏ chỉ còn lại các thực từ [3]. Mặt khác, các thực từ có tần số
TF*IDF dưới 1 ngưỡng quy định sẽ bị lọc bỏ. Việc lọc này nhằm lựa ra những
thực từ đủ tính chất đặc trưng cho văn bản, loại bỏ những thực từ quá hiếm xuất
hiện hoặc xuất hiện quá phổ biến trong tập văn bản.


Khoảng cách giữa hai văn bản chính là độ tương tự giữa hai văn bản được tính
bằng độ đo Cosine similary. Độ đo Cosinesimilary của 2 văn bản A và B được xác
định như công thức sau:


( , ) = .


‖ ‖‖ ‖=


∑ ×


∑ × ∑ (1)



trong đó:


= { , … , } là vector của văn bản A với là trọng số TF*IDF của từ
thứ <i>i</i> của văn bản A;


= { , … , } là vector của văn bản B với là trọng số TF*IDF của từ
thứ <i>i </i>của văn bản B.


<b>Thuật toán DBSCAN </b>


Thuật toán DBSCAN gốc dùng phân cụm văn bản được trình bày như sau [4]:
Cần có 2 tham số quan trọng trong DBSCAN là epsilon (<i>eps</i>) và số điểm tối
thiểu (<i>MinPts</i>). Thông số <i>eps</i> định nghĩa bán kính khu vực lân cận xung quanh một
văn bản (chính là một điểm trong khơng gian n chiều). Tham số <i>MinPts</i> là số lượng
văn bản lân cận tối thiểu trong bán kính <i>eps</i>. Ứng với <i>eps</i> và <i>MinPts</i> cho trước,
DBSCAN xác định một cụm thơng qua 2 bước:


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

Qua thuật tốn này, ta có thể thấy để thuật tốn hoạt động hiệu quả phụ thuộc
vào 2 yếu tố chính đó là tham số <i>eps</i> và <i>MinPts</i>. Trong trường hợp lý tưởng thì ứng
với mỗi cụm cần phải xác định được thơng số <i>eps</i> và <i>MinPts</i> ít nhất một văn bản
thuộc cụm. Sau đó, tìm tất cả các văn bản cho từng cụm. Tuy nhiên, khơng dễ gì để
xác định được các thơng tin trên nhanh chóng và chính xác nên DBSCAN sử dụng
thơng số <i>eps</i>, <i>MinPts</i> của cụm có mật độ ít dày đặc nhất làm thông số chung cho tất
cả các cụm.


Đối với một <i>eps</i> xác định, số văn bản lõi sẽ giảm đáng kể khi giá trị của <i>MinPts</i>


lớn. Trong trường hợp này, một vài văn bản của một số cụm có có thể bị loại bỏ.
Ngược lại, một số văn bản sẽ bị đánh giá nhầm thành văn bản lõi nếu giá trị



<i>MinPts</i> quá nhỏ. Mặt khác, đối với giá trị <i>MinPts</i> xác định, một số văn bản có thể
trở thành nhiễu hoặc một cụm có thể bị chia thành vài cụm nhỏ hơn nếu giá trị <i>eps</i>


quá nhỏ. Một số nhiễu có thể được phân vào một cụm khơng chính xác hoặc một
số cụm rời rạc có thể bị gom lại thành một cụm một cách khơng chính xác khi giá
trị <i>eps</i> quá lớn. Dựa trên phân tích này, một thuật tốn được trình bày để ước tính
hai tham số <i>eps</i> và <i>MinPts</i> một cách tối ưu[5].


Ý tưởng của thuật toán DBSCAN cải tiến là tự động tính giá trị của các tham số


<i>eps</i>, <i>MinPts</i> được ước tính dựa trên các thuộc tính thống kê của bộ dữ liệu. Trong
trường hợp lý tưởng, một ma trận khoảng cách <sub>×</sub> được đưa ra:


× = { ( , )|1 ≤ ≤ , 1 ≤ ≤ } (2)


trong đó:


- là số lượng văn bản của tập văn bản đầu vào <i>D;</i>


- <sub>×</sub> là một ma trận đối xứng hàng cột trong đó mỗi thành phần thể
khoảng cách được tính bằng độ đo cosine giữa văn bản <i>i</i> và <i>j</i> trong tập văn
bản đầu vào <i>D.</i>


<i><b>Xác định thông số eps tối ưu </b></i>


Thông số <i>eps</i> cho thuật tốn DBSCAN có thể được xác đinh bằng tay hoặc
thơng qua thuật tốn Heuristics xác định thông số <i>eps</i> cho cụm có mật độ ít dày
đặc nhất. Thuật toán dựa trên 2 quan sát:


1) Gọi <i>Xi</i> là khoảng cách giữa văn bản <i>i</i> và văn bản gần nhất thứ <i>k</i> thì vùng lân


cận <i>Xi </i>của văn bản <i>i</i> chứa <i>k+1 </i>văn bản (hoặc nhiều hơn <i>k+1</i>văn bản khi
nhiều văn bản có cùng khoảng cách đến <i>i</i>).


2) Thay đổi giá trị <i>k</i> không dấn đến thay đổi lớn giá trị của <i>Xi</i>trừ khi <i>k</i>văn bản
này cùng nằm xấp xỉ trên cùng một đường thẳng.


Chúng ta xác định giá trị của mỗi thành phần trong ma trận <sub>×</sub> , sau đó sắp
xếp theo thứ tự tăng dần theo từng hàng. Sử dụng <sub>×</sub> để thể hiện giá trị của
cột thứ <i>i</i> trong <sub>×</sub> . Với giá trị <i>k</i> cho trước và các dữ liệu trong <sub>×</sub> được
sắp xếp theo thứ tự tăng dần dẫn đến <sub>×</sub> là cột thể hiện khoảng cách từ điểm


<i>p</i> đến điểm gần nhất thứ <i>k</i>. Từ đó, chúng ta sử dụng ước lượng khả năng tối đa
trong toán học để ước lượng giá trị của <i>eps</i>. Tức là, <i>eps</i> có thể thu được bằng
phương pháp tính giá trị trung bình của <sub>×</sub> .


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

Thực nghiệm cho thấy số lượng cụm có xu hướng ổn định khi <i>k = 4 </i>và chi phí
tính tốn lại giảm đáng kể [4,5]. Vì vậy, có thể thấy kết quả phân nhóm có thể tối
ưu ngay tại thời điểm này.


<b>Thuật tốn </b><i><b>DBSCAN cải tiến</b></i><b> để tìm </b><i><b>eps</b></i><b> tối ưu trong tập dữ liệu </b>


Mục đích Tìm giá trị tối ưu của <i>eps</i>


Input Bộ dữ liệu <i>n </i>văn bản


Số lượng <i>k</i> điểm lân cận tối thiểu
Output Thông số <i>eps</i> tối ưu cho tập dữ liệu


Thủ tục



for <i>i=1</i> to <i>n</i>


for <i>j=1</i> to <i>n </i>


tính khoảng cáchgiữa 2 văn bản <i>i</i> và <i>j</i>:


( , ) = ( , )


end for


sắp xếp các giá trị khoảng cách theo thứ tự tăng dần
end for


tính <i>eps</i> tối ưu dựa vào bộ dữ liệu khoảng cách tìm được
<i><b>Xác định tham số MinPts tối ưu </b></i>


Sau khi <i>eps</i> tối ưu được xác định, ta cần phải ước tính giá trị của <i>MinPts</i>. Đầu
tiên, ta cần tính số lượng các văn bản trong vùng bán kính <i>eps</i> lân cận với mọi
điểm trong tập dữ liệu từng điểm một. Sau đó, tính trung bình giá trị của tất cả các
dữ liệu này, đó chính là giá trị <i>MinPts</i> tối ưu.


= 1 (4)


Trong đó, <i>pi</i> là số điểm lân cận trong vùng bán kính <i>eps</i> của điểm <i>i</i>.


<b>2.3. Phát hiện chủ đề nóng </b>


Số lượng tài liệu trong một chủ đề là yếu tố quan trọng để đánh giá mức độ
nóng, ngồi ra, nguồn trang thơng tin điện tử cũng nên được xem như là một đóng
góp quan trọng cho mức độ nóng của một chủ đề. Chúng tơi cho rằng các chủ đề


được thảo luận bởi nhiều trang thông tin điện tử quan trọng hơn những chủ đề chỉ
được thảo luận bởi ít trang thơng tin điện tử, mặc dù các chủ đề này có thể chứa
nhiều tài liệu. Mặt khác, số ngày đăng tin trong một khoảng thời gian nhất định
cũng đóng góp vào mức độ nóng của chủ đề.


Dựa trên nguyên tắc thuật toán TF-PDF (Term Frequency - Proportional
Document Frequency) đã được trình bày trong một số cơng trình nghiên cứu
[7,8,22], chúng tơi đề xuất phương pháp tính “độ nóng” của một chủ đề được phân
cụm. Cụ thể, độ nóng của một chủ đề T trong khoảng thời gian được ký hiệu là


ℎ (T) được tính như sau:


ℎ (T) =







× ×




⎞ × (5)


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

: là số trang thông tin điện tử chứa các bài viết đang được xem xét.


: là tổng số chủ đề được phân cụm mà chứa các bài viết của trang thông tin
điện tử thứ <i>i</i>.



: Là số bài viết của chủ đề T được đăng trên trang thông tin điện tử thứ <i>i</i>.


: Là số bài viết của trang trang thông tin điện tử thứ <i>i</i> trong chủ đề thứ <i>j</i>


( ∈ ).


: Là tổng số bài viết trên trang thông tin điện tử thứ <i>i</i>.


: Là trọng số của trang thông tin điện tử thứ <i>i</i>, = 1 nếu trang thông tin
điện tử thứ <i>i</i> là một trang thông tin điện tử được cấp phép (chính thống), =
0.5 nếu trang thông tin điện tửthứ <i>i</i> là một trang thông tin điện tử không được cấp
phép, = 0.1 nếu trang thông tin điện tử thứ <i>i</i> chỉ là trang thông tin điện tử tổng
hợp tin tức từ các nguồn khác.


: Là số ngày khác nhau của các bài viết trong chủ đề T.


: Là số ngày khác nhau của tất cả các bài viết đang được xem xét.


<b>3. THỬ NGHIỆM, ĐÁNH GIÁ </b>
<b>3.1. Kho ngữ liệu </b>


Kho ngữ liệu thử nghiệm được xây dựng dựa trên việc thu thập dữ liệu trong
một khoảng thời gian từ 09/08 – 15/08/2017 từ các trang thông tin điện tửBáo
Nhân dân, Báo Quân đội nhân dân, Báo Dân trí, Báo Thanh niên, Báo vnexpress,
news.zing.vn. Chúng tôi chọn khoảng thời gian này vì có một số sự kiện quan
trọng nổi lên như: căng thẳng Triều Tiên, trạm thu phí Cai Lậy, bạo lực ở bang
Virginia Hoa Kỳ, bút phê lãnh đạo vào hồ sơ sinh viên... Tổng số văn bản thu thập
được từ các nguồn trên là 131 bài được phân thành 10 cụm chủ đề (bằng phương
pháp thủ công do con người thực hiện).



Do đặc điểm riêng của tiếng Việt [3], ở bước tiền xử lý tiếng Việt chúng tôi sử
dụng các bộ công cụ sau:


Sử dụng các kỹ thuật tách từ của nhóm tác giả [10, 11,12] được dùng để tách từ
tiếng Việt. Sử dụng bộ công cụ vnTagger [15] để gán nhãn từ loại với bộ 18 nhãn.


Ngoài ra, để nâng cao độ chính xác, các thực từ đồng nghĩa trong tiêu đề, tóm
tắt, nội dung của các văn bản thử nghiệm được thay thế bằng một từ duy nhất bằng
cách sử dụng từ điển đồng nghĩa của tác giả Nguyễn Văn Tu [9].


<b>3.2. Thử nghiệm, đánh giá </b>


Trong quá trình phân cụm ở giai đoạn đầu tiên,với 131 văn bản đầu vào chưa
được phân cụm, chúng tôi sử dụng thuật toán DBSCAN cải tiến với <i>k=4</i> [4,5],
thuật tốn tính ra các hệ số tối ưu <i>eps = 0,952, MinPts=4</i>. Kết quả thực hiện phân
ra thành 10 cụm chủ đề, chúng ta so sánh với 10 cụm chủ đề đã được phân cụm
bằng phương pháp thủ cơng. Kết quả được trình bày ở bảng 1, trong đó chúng tơi
sử dụng độ đo Precision, Recall, F-score để đánh giá độ chính xác của thuật
toánphân cụm.


=


( + )


=


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

=2 × ×


( + )



trong đó:


TP: Số lượng các bài thuộc cụm c được phân loại chính xác vào cụm c;
FP: Số lượng các bài không thuộc cụm c bị phân loại nhầm vào cụm c;
FN: Số lượng các bài thuộc cụm c bị phân loại nhầm vào các lớp cụm khác c.


<i><b>Bảng 1.</b> Bảng kết quả phân cụm sử dụng thuật toán DBSCAN cải tiến. </i>


T


T Tên cụm


Số lượng văn bản


TP FP FN Pre


(%)


Recall
(%)


F
(%)
PP


thủ
công


DBSCAN
cải tiến


1 Căng thẳng Triều


Tiên 40 19 19 0 21 100 47,5 64,4


2 Phản đối trạm thu


phí BOT Cai Lậy 17 14 14 0 3 100 82,4 90,4
3 Thời tiết nắng


nóng tại Bắc bộ 16 15 15 0 1 100 93,8 96,8
4


Khắc phục hậu quả
trận lũ quét Yên
Bái


12 8 8 0 4 100 66,7 80,0


5 Phê lý lịch sinh


viên 9 9 9 0 0 100 100 100


6


Ông Đoàn Ngọc
Hải xử lý vi phạm
lấn chiếm vỉa hè


9 6 6 0 3 100 66,7 80,0



7


Lao xe vào cuộc
biểu tình tại bang
Virginia - Mỹ


7 5 5 0 2 100 71,4 83,3


8


Căng thắng biên
giới Trung Quốc -
Ấn Độ


7 7 7 0 0 100 100 100


9


Bé trai bị bỏ rơi tại
trước bệnh viện
Sài Gòn


7 7 7 0 0 100 100 100


10


Căng thẳng biên
giới Campuchia -
Lào



7 6 6 0 1 100 85,7 92,3


</div>

<!--links-->

×