Mô hình giải quyết bài toán

Một phần của tài liệu Giải pháp phân biệt tên người trên Web dựa trên mô hình thông tin Người và thử nghiệm vào hệ thống tìm kiếm người tiếng Việt (Trang 54 - 78)

Dựa vào mô hình thông tin Người của Hua-Ping Zhang và cộng sự [7], khóa luận đề xuất mô hình giải quyết bài toán như sau.

Miền dữ liệu của bài toán: Tập các trang Web từ VnExpress.Net [22],

VietNamNet.Vn [21] và TuoiTre.Vn [20].

Input: Tập các trang web là kết quả trả về từ máy tìm kiếm Google khi đưa vào

một tên người làm truy vấn.

Output: Tập các trang web từ VnExpress.Net, VietNamNet.Vn và TuoiTre.Vn

được phân cụm sao cho những trang Web thuộc cùng một cụm đề cập đến một người, các trang Web thuộc các cụm khác nhau đề cập đến các người khác nhau.

43

Mô hình giải quyết bài toán:

Hình 21. Mô hình giải quyết bài toán phân biệt tên người dựa trên mô hình thông tin Người

Mô hình giải quyết bài toán gồm bốn bước chính như sau:

Bƣớc 1: Thu thập dữ liệu

Với mỗi tên người, khóa luận thu thập các trang chứa tên người cần phân biệt, từ ba trang tin tức điện tử nổi tiếng của Việt Nam là VnExpress.Net, VietNamNet.Vn và TuoiTre.Vn, thông qua máy tìm kiếm Google. Truy vấn với cú pháp:

“Tên người” + site:<tên trang web>

Ví dụ, với tên người là Nguyễn Thị Hiền, khóa luận sẽ đưa vào máy tìm kiếm Google với 3 truy vấn:

“Nguyễn Thị Hiền” + site:vnexpress.net “Nguyễn Thị Hiền” + site:vietnamnet.vn “Nguyễn Thị Hiền” + site:tuoitre.vn

Với các kết quả trả về từ máy tìm kiếm, khóa luận 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 đuôi .doc hay .xls, bỏ qua những trang không chứa tên người hoặc những 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ị Mai Hiền hoặc Nguyễn Thị Hiền Lương.

Tên người Tập các trang Web

cứa tên người

Văn bản Tập các đặc trưng Đặc trưng tương ứng với mỗi cụm Mô hình thông tin Người Thu thập dữ liệu Biểu diễn các đặc trưng Phân cụm Tiền xử lý Trích chọn đặc trưng Cụm các trang web Mô tả cụm

44

Bƣớc 2: Tiền xử lý dữ liệu

Trong bước này, khóa luận thực hiện:

- Loại bỏ các thẻ html, lấy các url và nội dung chính của trang

- Thực hiện tách câu, tách từ trên các trang web down về.

Bƣớc 3: Trích chọn các đặc trƣng

Phân tích mô hình giải quyết bài toán phân biệt tên người của Hua-Ping Zhang và cộng sự [7], chúng tôi nhận thấy trong tiếng Việt, tên họ hàng/người thân thường xuất hiện trong tập các tên người khác cùng xuất hiện với tên người cần phân biệt. Vì vậy, trường hợp phân cụm dựa trên các đặc trưng {nghề nghiệp, tên người khác, thuật ngữ khác} đã bao gồm trường hợp phân cụm dựa trên xét luật "hai người có tên họ hàng/người thân giống nhau thì là một người". Hơn nữa, trong tiếng Việt với chỉ một tên người thân giống nhau mà khẳng định hai người cùng tên là một người là vẫn chưa đủ cơ sở. Từ phân tích trên, khóa luận lựa chọn thêm hai đặc trưng thuộc tính có khả năng xác định thực thể người cao là tel và email thay cho đặc trưng tên họ hàng/người thân trong phương pháp của các tác giả.

Trong bước này, khóa luận tiến hành trích chọn chín đặc trưng phổ biến của người: tên người, giới tính, ngày sinh, quê quán, nghề nghiệp, email, số điện thoại, các tên người khác và các thuật ngữ khác cùng xuất hiện với tên người cần phân biệt.

 Quy trình trích chọn các đặc trưng thuộc tính của người (giới tính, ngày sinh, quê quán, nghề nghiệp, email, số điện thoại) khóa luận đề xuất gồm các bước như sau:

- Tách từ, gán nhãn cho dữ liệu văn bản đầu vào. Nhãn tương ứng với các đặc trưng thuộc tính được mô tả trong bảng 1:

Bảng 3-1: Các đặc trưng được sử dụng trong khóa luận (adsbygoogle = window.adsbygoogle || []).push({});

STT Đặc trƣng Nhãn

1 Tên người {NAME}

2 Ngày sinh {BIRTH}

45

4 Quê quán {HOMETOWN}

5 Nghề nghiệp {JOB}

6 Số điện thoại {TEL}

7 Email {EMAIL}

- Dựa vào dữ liệu đã được gán nhãn, trích chọn các đặc trưng thuộc tính của người trong văn bản.

 Quy trình trích chọn đặc trưng xã hội (tên người khác, thuật ngữ khác):

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.

Từ mỗi văn bản này tiến hành:

- Tách từ, gán nhãn từ loại cho các thuật ngữ này.

- Lọc bỏ các thuật ngữ thuộc tính bằng từ loại. Khác với mô hình thông tin Người của Hua-Ping Zhang và cộng sự, khóa luận chỉ giữ lại danh từ và tên thực thực thể.

- Lọc bỏ những các từ dừng.

- Lọc bỏ các thuật ngữ có tần suất quá cao hoặc quá thấp bằng cách sử dụng DF. Chỉ lấy những thuật ngữ có .

 Một số đặc trưng được trích chọn cùng chỉ một giá trị nhưng cách thể hiện khác nhau. Chẳng hạn, cùng một đặc trưng là “Nghề nghiệp” thì có giảng viên- giảng dạy hoặc đặc trưng là “Quê Quán” có “Thành phố HCM”,”Hồ Chí Minh”,”TP. Hồ Chí Minh”… chúng tôi dự định sẽ chuẩn hóa các đặc trưng trích chọn sao cho cùng một đặc trưng, cùng một giá trị của đặc trưng đó chỉ có một cách thể hiện: “Thành phố HCM”, “Hồ Chí Minh”, “TP. Hồ Chí Minh” sẽ được chuyển về là “Thành phố Hồ Chí Minh”.

Bƣớc 4: Biểu diễn đặc trƣng theo mô hình thông tin Ngƣời

Các đặc trưng trích trọn được ở bước 3 sẽ được phân vào các tập trong mô hình thông tin Người như sau:

46

N = {tên người}

P = {giới tính, ngày sinh, quê quán} Q = {nghề nghiệp, tel, email}

R = {tên người khác, thuật ngữ khác}.

 Biểu diễn các đặc trưng nghề nghiệp, tên người khác và thuật ngữ khác bằng ba vector tương ứng với ba loại đặc trưng này như sau:

V = (t1, w1; t2, w2; … ; tH, wH).

Trong đó: ti là thuật ngữ thứ i

wi là trọng số của thuật ngữ thứ i

Trọng số của đặc trưng nghề nghiệp được tính bằng công thức đánh trọng số Boolean.

Trọng số của đặc trưng tên người khác và thuật ngữ khác cùng xuất hiện với tên người cần phân biệt được tính bằng phương pháp TF-IDF. Đối với đặc trưng tên người khác, công thức tính trọng số như sau:

⃗ ⃗ (adsbygoogle = window.adsbygoogle || []).push({});

Trong đó:

- ⃗ là trọng số của tên cùng xuất hiện name.

- ⃗ là tần số cùng xuất hiện của name và người p.

- nname là số lần cùng xuất hiện của tên và tên người khác. - N’ là tổng số tài liệu

Đối với đặc trưng thuật ngữ khác, công thức tính trọng số như sau:

( ⃗) ⃗ ( )

Trong đó:

- ⃗ là trọng số của thuật ngữ t trong tài liệu d.

- ( ⃗)là tần số xuất hiện của t trong tài liệu d.

- nt là số lượng tài liệu chứa t. - N là tổng số tài liệu.

47

Bƣớc 5: Phân cụm

Tính độ tương đồng giữa các đặc trưng

Đối với các đặc trưng thuộc tính người bao gồm: tên người, giới tính, quốc tịch, ngày sinh, quê quán, email và số điện thoại sẽ được dùng làm điều kiện cho các quy tắc 1, 2 dùng tạo các cụm ban đầu trong thuật toán phân cụm. Các đặc trưng còn lại gồm nghề nghiệp, tên người khác và thuật ngữ khác được dùng để phân cụm trong thuật toán HAC. Mỗi cụm được biểu diễn bằng ba vector đặc trưng của cụm là: vector đặc trưng nghề nghiệp, vector đặc trưng tên người khác và vector đặc trưng thuật ngữ khác. Độ tương đồng của hai cụm được tổng hợp từ ba độ tương đồng giữa các loại vector đặc trưng tương ứng (độ tương đồng giữa cặp vector nghề nghiệp, độ tương đồng giữa cặp vector tên người khác và độ tương đồng giữa cặp vector thuật ngữ khác). Trong đó, độ tương đồng giữa hai vector được tính bằng công thức tính consin giữa hai vector.

Ba độ tương đồng tương ứng giữa ba cặp vector nghề nghiệp, tên người khác và thuật ngữ khác là các yếu tố chắc chắn độc lập với nhau, đều có ý nghĩa khẳng định cho sự chắc chắn tương đồng giữa hai cụm. Vì vậy, để xác định tương đồng giữa hai cụm, chúng tôi dùng thuyết chắc chắn Stanford để tổng hợp độ tương đồng của 3 vector đặc trưng này bằng công thức tính độ chắc chắn Stanford như sau:

( )

Trong đó:

- là độ chắc chắn tương đồng của hai vector nghề nghiệp. - ) là độ chắc chắn tương đồng của hai vector tên người khác. - ) là độ chắc chắn tương đồng của hai vector thuật ngữ khác.

Độ chắc chắn của các yếu tố đặc trưng nghề nghiệp, tên người khác, thuật ngữ khác được tính bằng công thức:

( ) ⁄ với [ ] và

Với là độ tương đồng của đặc trưng Ei và là ngưỡng tương đồng của đặc trưng thứ i.

48

Xác định ngưỡng tương động uj bằng phương pháp huấn luyện sau: - Phân cụm dữ liệu huấn luyện theo các yếu tố duy nhất.

- Chọn ngưỡng tương đồng có độ hồi tưởng cao hơn với tiền đề là độ chính xác không nhỏ hơn 98%.

Phân cụm

Khóa luận tốt nghiệp vẫn sử dụng thuật toán phân cụm như đã giới thiệu trong mục 2.2. Nhưng để phù hợp hơn với ngôn ngữ Tiếng Việt và các đặc trưng được trích chọn (khóa luận tiến hành trích chọn đặc trưng email và số điện thoại thay cho đặc trưng tên họ hàng/người thân của thực thể người cần phân biệt), khóa luận có thay đổi trong hai quy tắc để tạo cụm ban đầu như sau:

Quy tắc 1: Đối với hai người có trùng tên, nếu email giống nhau, hoặc số điện

thoại giống nhau, 2 người là cùng một người. (adsbygoogle = window.adsbygoogle || []).push({});

Quy tắc 2: Đối với hai người trùng tên, nếu một trong các thuộc tính: giới tính,

quốc tịch, quê quán, ngày sinh là khác nhau, hai người này là hai người khác nhau.

Với thay đổi này, thuật toán phân cụm khóa luận thực hiện được được viết lại như sau:

Thuật toán phân cụm:

1. Áp dụng 2 quy tắc 1 và 2 để tạo các cụm gốc

Quy tắc 1: Đối với hai người có trùng tên, nếu ngày sinh giống nhau hoặc

email giống nhau, hoặc số điện thoại giống nhau, hai người là cùng một người.

Quy tắc 2: Đối với hai người trùng tên, nếu một trong các thuộc tính: giới

tính, quê quán, ngày sinh là khác nhau, hai người này là hai người khác nhau.

2. Áp dụng thuật toán phân cụm phân cấp HAC để phân cụm những cụm ban đầu này.

(1) Coi mỗi cụm ban đầu là một cụm duy nhất. (2) Trộn hai cụm giống nhau nhất thành một cụm.

49

(3) Nếu có chỉ còn một cụm hoặc đạt đến ngưỡng dừng thì thoát. Không thì quay lại bước (2).

Ngưỡng dừng được chọn qua quá trình khảo sát các độ chắc chắn tương đồng của hai tài liệu didj.

Trong quá trình sát nhập các cụm, tiến hành sát nhập các đặc trưng của người. Đối với vector các thuật ngữ, tính giá trị trung bình trọng số của các thuật ngữ. Đối với đặc trưng thuộc tính, áp dụng phương pháp luật để trộn hai cụm.

Mô tả cụm:

Sau khi phân cụm, mỗi cụm sẽ tương ứng với một thực thể người phân biệt nhưng cùng tên. Từ kết quả phân cụm, khóa luận tiến hành trích xuất các đặc trưng của cụm, biểu diễn kết quả ra màn hình để giúp người dùng có được cái nhìn tổng quát và tổng hợp về từng thực thể người.

3.4. Áp dụng bài toán phân biệt tên ngƣời vào hệ thống tìm kiếm thực thể

Hệ thống tìm kiếm thực thể mà công cụ phục vụ nhu cầu tìm kiếm thông tin về người của người dùng. Với đầu vào là các từ khóa chỉ thông tin về người, hệ thống sẽ trả về thông tin về thực thể người mà người dùng quan tâm. Tuy nhiên, thực thể người có độ nhập nhằng cao, vì vậy kết quả trả về của hệ thống tìm kiếm thực thể người vẫn còn nhiều hạn chế. Để nâng cao chất lượng của hệ thống, khóa luận đưa ra mô hình hệ thống tìm kiếm thực thể người như sau:

Hình 22. Mô hình hệ thống tìm kiếm thực thể người [3]

Tập tên người

Module thu thập văn bản và phân biệt tên người trên

tập văn bản

Tập trang Web ứng với từng người

Trích xuất đặc trưng cho mỗi

người

50 Hệ thống gồm hai bước chính:

- Bƣớc 1:Thu thập văn bản và phân biệt tên người trên tập văn bản.

Hệ thống tiến hành thu thập các trang web chứa tên người được quan tâm thông qua máy tìm kiếm Google và lưu nội dung các trang web trong các văn bản. Sau đó, hệ thống tiến hành trích chọn đặc trưng ngữ cảnh của người, tính độ tương đồng ngữ cảnh giữa các văn bản và gom cụm các văn bản thành các cụm sao cho các văn bản thuộc cụm một cụm nói về cùng một người, các văn bản trong các cụm khác nhau nói về các thực thể người khác nhau. Chi tiết về bước này đã được trình bày ở hệ thống phân biệt tên người trên Web.

- Bƣớc 2: Hệ thống tiến hành trích xuất đặc trưng cho mỗi người. (adsbygoogle = window.adsbygoogle || []).push({});

Với mỗi tên người, bước 1 đã thực hiện phân cụm các văn bản sao cho mỗi cụm nói về một thực thể người riêng biệt. Trong bước này, hệ thống tiến hành trích xuất chính những đặc trưng đã sử dụng để phân cụm trong bước 1 là thuộc tính người và các tên người có liên quan đến người đó và các cụm từ liên quan. Những đặc trưng này sẽ được lưu vào cơ sở dữ liệu để phục vụ cho quá trình tìm kiếm sau này.

Tóm tắt chương 3

Trong chương này, dựa trên kết quả phân tích đặc điểm hình thức và mạng xã hội của miền dữ liệu báo tin tức điện tử Việt Nam, khóa luận đã đưa ra phương pháp áp dụng mô hình thông tin Người vào giải quyết bài toán phân biệt tên người trong tiếng Việt.

Chương sau khóa luận mô tả quá trình thực nghiệm, kết quả thử nghiệm mô hình và đánh giá kết quả đạt được.

51

Chương 4: Thực nghiệm và đánh giá

Dựa trên cơ sở đã mô tả mô hình đề xuất ở chương 3, trong chương này khóa luận tiến hành thử nghiệm mô hình phân biệt tên người dựa trên mô hình thông tin Người trong tiếng Việt. Miền dữ liệu tiến hành thử nghiệm của mô hình là tập các bài báo tim tức điện tử tiếng Việt.

4.1. Môi trƣờng và công cụ sử dụng thực nghiệm.

 Cấu hình phần cứng

Bảng 4-1: Cấu hình phần cứng

Thành phần Chỉ số CPU Intel Core 2 Duo 2.0Ghz

RAM 2GB

HDD 160GB

OS Windows 7 Professional 32 bit

 Các công cụ phần mềm sử dụng

Bảng 4-2: Danh sách các phần mềm sử dụng:

STT Tên phần mềm

Tác giả Chức năng Nguồn

1 eclipse-SDK-

3.4.1-win32 Môi trường

phát triển phần mềm. http://www.eclipse.org/downloads. 2 JvnTextpro Cam-Tu Nguyen, Xuan-Hieu Phan, Thu-Trang Nguyen Tách câu, tách từ, gán nhãn. http://jvntextpro.sourceforge.net/

52

Ngoài các công cụ phần mềm mã nguồn mở, chúng tôi tiến hành cài đặt các chương trình xử lý dựa trên ngôn ngữ java. Chương trình được tổ chức gồm các gói sau:

Bảng 4-3: Bảng các gói của chương trình

Các gói Ảnh chụp Project Dissambiguation: Thực hiện phân cụm

các văn bản theo thuật toán phân cụm HAC

ThuThap: lấy trang Web từ máy tìm kiếm, lọc thẻ html, lấy urls và nội dung chính của trang

Ultils: gói này chứa các thư viện hỗ trợ cho các bước xử lý ở trên

Các Folder:

+ Data: chứa dữ liệu tên cần phân cụm + Lib: chứa thư viện ngoài (adsbygoogle = window.adsbygoogle || []).push({});

Thuthap: lấy trang Web từ máy tìm kiếm, lọc thẻ html, lấy urls và nội dung chính của trang. Gói gồm các thành phần sau:

- 1 class:

- QueryGoogle.java: Gửi truy vấn vào google và lấy kết quả trả về. - 2 file txt:

- input_thuthap.txt: lưu thông tin về thư mục lưu trữ các tài liệu chứa nội dung trang Web lấy về từ máy Google, tên người và số lượng trang web cần thu thập.

- input_checkname.txt: lưu thông tin về thư mục lưu trữ các tài liệu chứa nội dung trang Web lấy về từ máy Google và thư mục lưu trữ các tài liệu

Một phần của tài liệu Giải pháp phân biệt tên người trên Web dựa trên mô hình thông tin Người và thử nghiệm vào hệ thống tìm kiếm người tiếng Việt (Trang 54 - 78)