Đầ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ềlý n xử 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
32
Với mỗi tên người, chúng tôi thu thập các trang tin tức chứa chúng từ 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ạng xã 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ính bằ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ạn chứa đầy đủ tên.
Thực hiện so khớp từng đoạn chứ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ạn củ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:
33
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ới hệ 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.