M Ở ĐẦU
3.1.1. Thuật toán phân cụm HAC
Phương pháp phân cụm phân cấp HAC xây dựng một cấu trúc cây phân cấp cho các tài liệu theo hướng từ dưới lên (bottom-up)[1]. Đầu tiên, mỗi phần tử được coi như một cụm riêng biệt, sau đó tiến hành ghép 2 cụm giống nhau nhiều nhất hoặc khác nhau ít nhất. Thuật toán dừng lại khi gặp một trong ba điều kiện:
Đã đạt được số cụm mong muốn
Chỉ còn một cụm duy nhất chứa tất cả các trang Web
Thỏa mãn môt điều kiện dừng nào đó. Sơđồ minh họa cho ý tưởng thuật toán HAC:
Hình 8. Sơđồ thuật toán phân cụm HAC [1]
Trong khóa luận này, tôi sử dụng 2 điều kiện dừng là khi đã đạt được số cụm mong muốn hoặc khi độ tương đồng của tất cả các cụm đều nhỏ hơn một ngưỡng tương đồng α.
Thuật toán HAC cho phân cụm Web
Các tham số trong thuật toán:
- G = {G1, G2, ... Gn}là tập các cụm
29
1. G <- {{d} | d thuộc D } (Khởi tạo G là tập các cụm chỉ gồm một trang Web trong tập D)
2. Nếu |G| < k thì dừng thuật toán ( Đã được số lượng cụm mong muốn ).
3. Tìm 2 cụm Gi và Gj thuộc G sao cho (i,j) = arg max(i,j) sim (Gi,Gj) ( Tìm 2 cụm có độ tương tự lớn nhất ).
4. Nếu sim (Gi,Gj) < q thì dừng thuật toán ( độ tương tự của 2 cụm nhỏ hơn ngưỡng cho phép )
5. Loại bỏ Gi, Gj khỏi G
6. G = G hợp { Gi , Gj } (ghép 2 cụm Gi, Gj và đưa vào trong tập G ) 7. Nhảy đến bước 2
- k là tham số để dừng thuật toán khi số lượng cụm mong muốn đã được tạo ra
- q là tham số ngưỡng dừng thuật toán khi độ tương tự giữa 2 cụm nhỏ hơn một ngưỡng nào đó.
Thuật toán
Để ghép 2 cụm giống nhau nhiều nhất hoặc khác nhau ít nhất vào một cụm, thuật toán HAC dựa trên khoảng cách giữa hai cụm hay chính là độ tương đồng giữa các cụm.
Một số phương pháp đo khoảng giữa các cụm:
• Độ tương tự giữa trọng tâm của cụm Gi và Gj:
sim (Gi,Gj) = sim (ci, cj)
Với ci, cj lần lượt là trọng tâm của 2 cụm Gi và Gj.
• Độ tương tự cực đại giữa 2 tài liệu thuộc vào 2 cụm (single-link hay single- linkage):
sim (Gi,Gj) =
Trong đó: di là tài liệu trong cụm Gi, dj là tài liệu trong cụm Gj.
Trong phương pháp này, khoảng cách giữa 2 cụm được định nghĩa là độ tương tự lớn nhất của 2 tài liệu trọng 2 cụm. Phương pháp này cho độ chính xác không cao với trường hợp chỉ có duy nhất 2 tài liệu ở trong 2 cụm là tương đồng cao, còn các tài liệu còn lại trong 2 cụm có độ tương đồng rất thấp.
30
Hình 9. Phân cụm với độđo single-link [1]
• Độ tương tự cực tiểu giữa 2 tài liệu thuộc 2 cụm (complete-link):
sim (Gi,Gj) =
Hình 10. Phân cụm với độđo complete-link [1]
Trong phương pháp này, khoảng cách giữa 2 cụm i, j được tính bằng độ tương đồng của 2 tài liệu nằm trong 2 cụm có giá trị nhỏ nhất. Giải thuật phâm cụm với complete-link kém chính xác khi 2 tài liệu trong cụm có độ tương đồng rất thấp, trong khi trọng tâm của 2 cụm này có độ tương đồng cao.
• Độ tương tự trung bình giữa các tài liệu trong cụm (group-average):
sim (Gi,Gj)=
Phương pháp tính toán độ tương tự giữa 2 cụm dựa trên độ tương tự của toàn bộ các cặp tài liệu trong 2 cụm chứ không phải dựa trên một cặp tài liệu duy nhất, do đó phương pháp tránh được nhược điểm của độ đo single-link và complete-link.
31
3.1.2. Độ tương đồng cosin
Phương pháp đô tương đồng cosin[1] được dùng đểđo mức độ tương tự giữa hai trang Web hoặc giữa trang Web và truy vấn. Độ tương đồng cosin để xác định mức độ tương đồng giữa 2 xâu phục vụ cho bài toán phân cụm trang Web.
Ý tưởng của độ tương đồng cosin xuất phát từ phương pháp tính toán vector: Hai vector d1 và d2 càng gần nhau khi góc giữa 2 vector càng nhỏ, hay cosin của góc đó càng lớn.
Công thức đo độ tương đồng cosin như sau: ( ) 2 1 2 1 2 1 . . cos , d d d d d d sim = θ = 3.1.3. Phương pháp PageRank
PageRank [15] là một thuật toán phân tích liên kết (link) được Lary Page và Sergey Brin trình bày tại WWW7 vào tháng 4 năm 1998. Thuật toán pagerank dựa trên ý tưởng chính là trang quan trọng là trang có nhiều liên kết tới nó. Giá trị pagerank của trang i được định hướng bằng tổng giá trị pagerank của các trang trỏ tới trang i. Tuy nhiên trong một số trường hợp việc đánh giá này là không chính xác, đặc biệt là trong các trường hợp bị nhiễu, người ta có thể dễ dàng tạo ra những trang web có liên kết đến trang cần tính. Chính vì vậy, PageRank phát triển thêm vào ý tưởng cũ đó là chú trọng thêm vào mức độ quan trọng của trang liên kết đến trang mà ta đang xét. Như vậy, một trang được đánh giá là quan trọng nếu nó được trỏ bởi nhiều trang quan trọng khác.
PageRank đơn giản (PageRank thô)
Liên kết trong của trang i là liên kết trỏ tới trang i bởi các trang khác.thường thì các liên kết từ trang giống nhau thì không được xem xét.
Liên kết ngòai của trang i là những liên kết từ trang i trỏ tới các trang khác. Thông thường, các liên kết từ các trang giống nhau sẽ không được xét.
Giả sử các trang web tạo thành đồ thị G = (V, E) với V là tập các đỉnh (các nút) hay chính là tập tất cả các trang web cần tính hạng (các trang được đánh số từ 1 đến n). còn E là tập cặp trang trong V, E = {(i, j) / nếu có siêu liên kết từ trang i tới trang j}. Thuật toán giả thiết rằng đồ thị web G là liên thông theo nghĩa với cặp hai trang Web (i, j) bất kì luôn có đường đi từ i tới j và ngược lại
32
Giá trị pagerank thô của trang i được xác định như sau:
∑ ∈ = ) ( ) ( / ) ( ) ( i B j j O j P i P
Trong đó, O(j) là số liên kết ra ngoài của trang thứ i. B(i) là số các trang web liên kết đến trang i.
Việc chia cho O(j) cho thấy rằng những trang có liên kết tới trang j sẽ phân phối hạng của chúng cho các trang Web mà chúng liên kết tới.
3.1.4. Phương pháp xếp hạng cặp thứ tự (Pairwise)
Với cặp S{(xi,xj)} là tập các cặp thực thể được sắp thứ tự . Với mỗi cặp{(xi,xj)} xi >xjtức là hạng của xilớn hơn hạng của xj( hay xi phù hợp hơn xj). Với mỗi (xi,xj)∈S có xi > xj thì h(xi)>h( )xj
Hàm h( )xi ,h( )xj là các hàm tính hạng tương ứng của xi và xj
3.2. Mô hình giải quyết bài toán tìm kiếm người trên Web
Xiaojun Wan, Jianfeng Gao, Mu Li Binggong Ding đã trình bày hệ thống Webhark nhằm giải quyết các vấn đề liên quan tới thực thể người trong kết quả tìm kiếm người[14]. Qua sự tìm hiểu và phân tích, khóa luận xin đưa ra mô hình giải quyết bài toán người theo tên trên Web.
Đầu vào: Tên thực thể người
Đầu ra: Danh sách các thực thể người theo tên đã được xếp hạng
33
Hình 11. Mô hình giải quyết bài toán Bước 1: Thu thập dữ liệu
Với mỗi tên người cho trước, đNy vào máy tìm kiếm Google với truy vấn theo cú pháp [<dấu cách> <câu hỏi người dùng> <dấu cách> {[<dấu cách> site:.edu OR site:.edu.vn <dấu cách> để lấy ra kết quả phù hợp cho mỗi truy vấn
Ví dụ:
Đưa vào google với truy vấn [ Nguyễn Thị Lan { site:.edu OR site:.edu.vn } ]
Tiến hành lọc lấy các trang dạng html, bỏ qua các văn bản đính kèm chứa “jobs” hoặc văn bản đính kèm đuôi .doc, .docx, .xls, .XLS, .pdf, .pdf,.axps.
Loại bỏ các trang không chứa tên người đó hoặc các trang chứa tên không đúng tên người đưa vào google làm truy vấn. Ví dụ như Nguyễn Thị Phương Lan hoặc Nguyễn Thị Lan Anh.
Giả thiết rằng một trang chỉ trỏ tới một người cùng tên. Do đó, tiến hành loại bỏ các trang chứa hai hoặc nhiều người có cùng tên với tên cho trước.
Bước 2: Tiền xử lý dữ liệu Trong bước này, tiến hành:
Loại bỏ các thẻ html
lấy urls và nội dung chính của trang Tên thực thể người Thu thd li u ập Tập các trang Web chứa tên ng i Tiền xử lý Văn bản Phân cụm văn bản Tập các văn bản đã phân cụm Trích chọn thực thể Tập các thực thể Xếp hạng thực thể Danh sách các thực thể được sắp xếp
34
Thực hiện tách câu, tách từ trên miền dữ liệu đã thu được
Bước 3: Phân cụm văn bản
Trong bước này, khóa luận tiến hành thực hiện một số xử lý chính sau:
Trích chọn đặc trưng
Nhiêm vụ trích chọn thuộc tính về người được trình bày tại hội nghị WebPS-3 tại (Italy), tổ chức vào hai ngày 22 và 23 tháng 9 năm 2010, với 16 đặc trưng/thuộc tính[7].
Bảng 1. Danh sách các thuộc tính được đề xuất trong hội nghị WebPS-3[7].
STT Attribute Class Examples of Attribute Value 1 Date of birth 4 February 1888
2 Birth place Brookline, Massachusetts 3 Other name JFK
4 Occupation Politician
5 Affiliation University of California, Los Angeles 6 Award Pulitzer Prize
7 School Stanford University
8 Major Mathematics
9 Degree Ph.D.
10 Mentor Tony Visconti 11 Nationality American
12 Relatives Jacqueline Bouvier 13 Phone +1 (111) 111-1111
14 FAX (111) 111-1111
15 Email xxx@gmail.com
16 Web site http://nlp.cs.nyu.edu
Trong khóa luận này, tôi trích trọn 12 thuộc tính của người, địa chỉ URL của trang và gán nhãn tương ứng với các thuộc tính như sau:
35
Bảng 2. Các thuộc tính được sử dụng trong khóa luận
Đặc trưng Nhãn Ví Dụ
<Tên người> Name Nguyễn Thị Kim Chi <Ngày sinh> BornTime 29/10/1989
<Quê quán, quốc tịch > HomeLoc Lạng Giang, Bắc Giang <Nghề nghiệp> Job Giáo viên
<Tên Cơ quan> JobOrg Trường THCS Tân Dĩnh <Chức vụ, học vị> Degree Hiệu trưởng
<Email> Email chintk@gmail.com <Sốđiện thoại> Tel 0989342245
<Website> Website http://www.kimchiwordpress.com
<Fax> Fax (111)11-111
<Chuyên ngành> Major Công nghệ thông tin <Thành tích> Award Giáo viên giỏi cấp tỉnh
Dựa vào dữ liệu đã được gán nhãn, và một số đặc trưng để trích trọn các thuộc tính của người trong văn bản.
Một sốđặc trưng sử dụng để trích chọn
36
Bảng 3. Một sốđặc trưng sử dụng để trích chọn
Đặc trưng Ý nghĩa Ví dụ
Đặc trưng viết hoa Viết hoa chữ cái đầu, viết hoa toàn bộ?
Nguyễn, NGUYỄN… Đặc trưng của các
từ xung quanh Các tsau từừđđứang xét vng trước, ới biên đứng độ là 2 từ
Đặc trưng từđiển Từ đang xét có thuộc một mục nào trong từ điển tên người, từ điển họ…không?
Đặc trưng tiền tố Đứng phía trước từ đang xét có từ nào nằm trong từđiển tiền tố không? Ông, bà,anh, ….. Đặc trưng về từ loại Nhãn từ loại của từ đang xét Nguyễn Văn Nam:Np (danh từ riêng) Tính độ tương đồng giữa các đặc trưng
Khóa luận sử dụng phương pháp độ đo cosin để tính độ tương đồng giữa hai xâu. Dựa trên độ tương đồng này, tính độ tương đồng giữa các đặc trưng được trích chọn. Dựa trên khảo sát dữ liệu và suy diễn từ thực tế, tôi thấy rằng: Mỗi đặc trưng có một độ quan trọng khác nhau. Nếu hai người có cùng ngày tháng năm sinh hoặc cùng số điện thoại, đặc biệt là cùng Email thì khả năng hai người đó là một người rất lớn.. Vì vậy, các đặc trưng như Email, ngày tháng năm sinh, sốđiện thoại sẽ được gán trọng số cao. Vì vậy, tôi đánh trọng số cho mỗi đặc trưng như sau:
<BornTime>:3 , <Email>:4 , <Tel>:4 , <Website>:4 , <Fax>:4 , <HomeLoc>:2 , <Job>:1 , <JobOrg>:2 , <Major>: 1, <Degree>:1 , <Award> : 2.
Độ tương đồng giữa hai văn bản được tính bằng tổng độ tương đồng giữa các đặc trưng
37
Trong khóa luận, tôi sử dụng thuật toán phân cụm phân cấp HAC dựa trên độ tương đồng giữa các văn bản để gom cụm dữ liệu và sử dụng ngưỡng tương đồng αđể cắt cây phân cụm phân cấp HAC.
Bước 4: Trích chọn thực thể từ cụm văn bản
Sau bước phân cụm, kết quả nhận được sẽ là các cụm văn bản sao cho các văn bản trong một cụm cùng trỏ tới một người. Các văn bản trong các cụm khác nhau sẽ trỏ tới các người khác nhau. Vì vậy, thay vì trích chọn tập thực thể từ các văn bản, tôi tiến hành trích chọn thực thể từ các cụm bằng cách gộp tất cả các văn bản trong cụm thành một văn bản đơn và thực hiện trích rút thực thể người từ văn bản đó. Mỗi thực thể người được biểu diễn dưới dạng tập các cặp (<thuộc tính><giá trị>). Ví dụ với thực thể người có tên là Nguyễn Tuấn Anh và các cặp đặc tính như (<Name><Nguyễn Tuấn Anh>),(<Tel><01238562899>)…. Việc trích chọn này có thể dựa vào pha trích chọn đặc trưng tai bước phân cụm.
Bước 5: Xếp hạng thực thể
Việc xếp hạng thực thể tương đương với việc xếp hạng các cụm theo từng tên người. Tại bước này, tôi sử dụng phương pháp học xếp hạng cặp thứ tựđể xếp hạng thực thể dựa trên điểm số của các thực thể
Điểm số cho thực thểđược tính dựa trên hai ý tưởng sau:
Dựa trên ý tưởng của thuật toán Pagerank thô
Ý tưởng của Pagerank là hạng của một trang được tính dựa trên hạng của các trang trỏ tới nó. Trong bước này, khóa luận dựa trên ý tưởng Pagerank như sau: Thông tin về một người có thểđược tổng hợp từ nhiều trang Web chứa thông tin về người đó. Vì vậy, một thực thể mà có nhiều trang cùng trỏ tới thực thểđó thì điểm của thực thể bằng tổng điểm của các thực thể trong các trang trong cùng cụm thực thể người đó.
Dựa trên điểm số của các trường thông tin
Các trường thuộc tính sẽđược gán các trọng số khác nhau. Các trường thông tin có đô tin cậy cao như Email, Tel, ngày sinh được gán điểm số là 2. Các trường còn lại được gán với điểm số là 1. Tuy nhiên , với trường ngày sinh, nếu đầy đủ thông tin về ngày tháng năm sinh thì điểm số là 2. Nếu thiếu một trong ba trường thì điểm số sẽ hạ xuống 0.25.
38
Điểm số cuối cùng cho mỗi thực thể người là điểm số kết hợp dựa trên mỗi ý tưởng. Dựa vào giá trị của hàm điểm số và thông tin trong các trường, tiến hành sắp xếp tập các thực thể người cùng tên.
3.3. Áp dụng bài toán tìm kiếm người theo tên trên Web vào hệ thống tìm kiếm thực thể người kiếm thực thể người
Hình 12. Mô hình đề xuất xây dựng hệ thống tìm kiếm
Hệ thống gồm hai bước chính:
Bước 1: Từ tập tên người qua module thu thập và phân biệt nhập nhằng tên người sẽ thu được tập các trang Web ứng với từng người riêng biệt.
Bước 2: Tập các trang Web thu được từ module thu thập và phân biệt nhập nhằng tên người, qua module xếp hạng thực thể sẽ thu được tập danh sách các thông tin về thực thể người của từng cụm đã được xếp hạng. Danh sách này sẽ được lưu vào cơ sở dữ liệu để tạo điều kiện thuận lợi cho quá trình tìm kiếm sau này.
Tóm tắt chương ba
Trong chương ba, khoá luận đã trình bày mô hình đề xuất tìm kiếm người trên Web cùng các kiến thức liên quan và ứng dụng bài toán đó trong việc đề xuất mô hình hệ thống tìm kiếm thực thể người.
Trong chương tiếp theo, khóa luận tiến hành thực nghiệm trên mô hình đã xây dựng và đánh giá những kết quảđạt được của mô hình đề xuất.
Tên thực thể người Tập các cụm trang Web ứng với một người Module thu thập và phân biệt nhập nhằng tên người Module xếp hạng thực thể Danh sách các thực thểđã được xệp hạng Cơ sở dữ liệu về người
39
Chương 4. Thực nghiệm và đánh giá
4.1. Mô tả thực nghiệm
Để thực nghiệm mô hình, khóa luận đưa ra 10 tên người tiếng Việt được coi