Đầu vào: Tập các tên người.
Đầu ra: Tập các trang Web tin tức chứa tên người đó được phân cụm, sao cho những
trang Web thuộc cùng một cụm cùng đề cập tới một người, và các trang Web thuộc
các cụm khác nhau đề cập tới những người khác nhau.
Phương pháp giải quyết và mô hình
`
Hình 3.12 –
Bước 1: Thu thập dữ liệu
Tên người Thu thập
dữ liệu
Tập các trang Web
chứa tên người Tiền xử lý
Văn bản qua xử lý Trích chọn đặc trưng Ngữ cảnh cho tên người Tính độ tương đồng ngữ cảnh Ma trận tương đồng Phân cụm ngữ cảnh Tập các văn bản phân cụm theo người
Vớimỗi tên người, chúng tôi thu thập các trang tin tức chứa chúngtừ ba Website tin tức: vnexpress.net, dantri.com.vn và vietnamnet.vn thông qua máy tìm kiếm
Google. Truy vấn “tên người”+site:domain được đưa vào máy tìm kiếm Google để lấy
ra các kết quả phù hợp cho mỗi domain.
Ví dụ:
Thu thập các bài báo liên quan tới tên “Nguyễn Hữu Đức” trong website
vnexpress.net ta sử dụng truy vấn “Nguyễn Hữu Đức” + site:vnexpress.net
Với các kết quả có được, chúng tôi lọc lấy những trang văn bản dạng html, bỏ qua các văn bản đính kèm đuôi .doc hay .xls.
Bước 2: Tiền xử lý
Loại bỏ thẻ HMTL, lấy nội dung chính của từng trang Web. Tách câu, tách từ trên dữ liệu thu được.
Bước 3: Trích chọn đặc trưng
Chọn lấy những câu chứa tên người đó trong văn bản.
Trích ra đặc trưng mạngxã hội: Xác định các thực thể tên người khác cũng xuất
hiện trong văn bản đó.
Bước 4:Tính độ tương đồng ngữ cảnh
Thử nghiệm 2 phương pháp:
Phương pháp 1:
Coi toàn bộ các câu chứa tên người là một văn bản, loại bỏ từ dừng và biểu diễn dưới dạng mô hình vector. Với một tên người, để thu được các câu chứa tên người đó,
ta biến đổi tên bằng cách loại bỏ các từ trong tên từ trái sang phải và tìm các câu chứa các tên đã bị cắt.
Ví dụ với tên “Nguyễn Ngọc Minh” , ta sẽ tìm những câu chứa các từ “Nguyễn
Ngọc Minh”, “Ngọc Minh” và “Minh”.
Độ tương đồng ngữ cảnh được tínhbằng độ đo cosin giữa 2 vector, đánh trọng số
của từ theo phương pháp tf.
Phương pháp 2:
Với mỗi sự xuất hiện của các tên riêng, chúng tôi lấy độ rộng xung quanh cửa sổ
là 10 làm ngữcảnh cho tên, gọi là một đoạn, chỉ lấy những đoạnchứa đầy đủ tên. Thực hiện so khớp từng đoạnchứa tên người của văn bản này với các đoạn chứa tên người của văn bản kia để tìm ra các từ, cụm từ chung.Hai đoạncủa hai văn bản có
nhiều cụm từ chung nhất được đại diện cho tên người đó trong mỗi văn bản, và các cụm từ chung trong 2 đoạn đó được tính điểm như sau:
Với mỗi từ đơn chung đứng riêng ta tính 1 điểm cho độ tương đồng, nếu có một
cụm n từ đơn liên tiếp nhau thì độ tương đồng tính bằng công thức
Point( n-word ) = n + log2(n)/2 (3.9)
Trong đó n-word là một cụm gồm n từ liên tiếp.
Trong cả 2 phương pháp ta đều bổ sung thêm đặc trưng mạng xã hội có từ việc xác định các thực thể tên người trong văn bản ở bước trên như sau:
Nếu 2 văn bản có từ 2 thực thể người chung trở lên thì ta coi chúng là tương đồng hoàn toàn.
Nếu 2 văn bản có 1 thực thể người chung, ở phương pháp 1 ta nhân độ tương đồng vớihệ số k = 1.5, ở phương pháp 2 ta coi tên đó cũng là 1 từ chung bình
thường vàtính điểm tương tự như các từ chung khác.
Đầu ra của bước này chính là ma trận độ tương đồng [wij] trong đó wij là độ tương đồng của văn bản i với văn bản j.
Bước 5: Phân cụm ngữ cảnh
Sử dụng thuật toán phân cụm HAC với khoảng cách single-linkage dựa trên ma trận độ tương đồng ngữ cảnh.
Sử dụng ngưỡng để cắt cây phân cấp HAC tìm ra được số cụm, tương ứng là số người phân biệt có cùng tên.