Mục lục Chương 1. Bài toán phân biệt nhập nhằng tên người trong hệ thống tìm kiếm thực thể. . 3 1.1. Hệ thống tìm kiếm thực thể . . 3
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Đạo Thái
PHÂN BIỆT NHẬP NHẰNG TÊN NGƯỜI TRONG HỆ THỐNG TÌM KIẾM THỰC THỂ
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin
HÀ NỘI - 2010
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Đạo Thái
PHÂN BIỆT NHẬP NHẰNG TÊN NGƯỜI TRONG HỆ THỐNG TÌM KIẾM THỰC THỂ
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: PSG.TS Hà Quang Thụy Cán bộ đồng hướng dẫn: ThS Trần Mai Vũ
HÀ NỘI - 2010
Trang 3Lời cảm ơn
Trước tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Phó Giáo sư Tiến sĩ Hà Quang Thụy và Thạc sỹ Trần Mai Vũ, người đã tận tình chỉ bảo và hướng dẫn tôi trong suốt quá trình thực hiện khoá luận tốt nghiệp
Tôi chân thành cảm ơn các thầy, cô đã tạo những điều kiện thuận lợi cho tôi học tập và nghiên cứu tại trường Đại Học Công Nghệ
Tôi cũng xin gửi lời cảm ơn tới các anh chị và các bạn sinh viên trong nhóm “Khai phá dữ liệu” phòng thí nghiệm KT-Sislab đã giúp tôi rất nhiều trong việc hỗ trợ kiến thức chuyên môn để hoàn thành tốt khoá luận
Cuối cùng, tôi muốn gửi lời cảm vô hạn tới gia đình và bạn bè, những người thân yêu luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện khóa luận tốt nghiệp Tôi xin chân thành cảm ơn !
Sinh viên Nguyễn Đạo Thái
Trang 4Tóm tắt nội dung
Một trong những lĩnh vực tìm kiếm Internet được người dùng quan tâm nhất đó chính là tìm kiếm thông tin về thực thể người Thực thể người là một trong những loại thực thể có độ nhập nhằng cao nhất, một tên có thể ứng với các thực thể người khác nhau, và những tên khác nhau có thể ứng với một thực thể người Tuy nhiên các máy tìm kiếm hiện nay vẫn thao thác các văn bản chứa tên người giống như các văn bản bình thường khác dẫn đến các kết quả tìm kiếm không được như người dùng mong đợi
Khóa luận tập trung nghiên cứu phương pháp giải quyết nhập nhằng tên người trên tập văn bản trên miền dữ liệu báo điện tử tiếng Việt dựa trên đặc trưng về từ vựng và mạng xã hội và đề xuất áp dụng xây dựng một hệ thống tìm kiếm thực thể người
Thực nghiệm ban đầu với tập tên người có độ nhập nhằng cao cho thấy mô hình phân biệt nhập nhằng tên người trên tập văn bản có độ chính xác khá cao và đạt độ đo F ở mức tốt (F0.5 = 0.791 và F0.2 = 0.773) Kết quả trên cho thấy phương pháp phân biệt nhập nhằng tên người đã đề xuất và triển khai là khả quan cho ngôn ngữ tiếng Việt
Trang 51.1.3 Vấn đề giải quyết nhập nhằng tên trong hệ thống tìm kiếm thực thể người 7
1.2 Bài toán phân biệt nhập nhằng tên người trên tập văn bản 9
1.2.1 Phát biểu bài toán 9
1.2.3 Mối quan hệ với bài toán phân biệt nhập nhằng nghĩa của từ 9
1.2.3 Phương pháp đánh giá 10
Tóm tắt chương một 11
Chương 2 Phương pháp giải quyết bài toán nhập nhằng tên người trên tập văn bản 12
2.1 Tiếp cận dựa trên thực thể định danh 12
2.2 Tiếp cận dựa trên từ khóa 14
2.3 Tiếp cận dựa trên kỹ thuật trích xuất thông tin 18
3.2.1 Mô hình không gian vector 24
3.2.2 Thuật toán phân cụm HAC 26
3.3 Mô hình hệ thống phân biệt nhập nhằng tên người trên tập văn bản 31
3.4 Áp dụng bài toán phân biệt nhập nhằng tên người trong hệ thống tìm kiếm thực thể người 33
Tóm tắt chương ba 34
Chương 4 Thực nghiệm và đánh giá 35
4.1 Môi trường và các công cụ sử dụng thực nghiệm 35
Trang 6Danh sách hình vẽ
Hình 1 - Kết quả tìm kiếm từ Google với truy vấn “nokia 6030” 5
Hình 2 - Đồ thị giữa các trang Web dưới góc nhìn thực thể 5
Hình 3 - Kiến trúc hệ thống tìm kiếm thực thể tiêu biểu dựa trên kỹ thuật trích xuất thông tin 6
Hình 4 - Hệ thống tìm kiếm nơi nghỉ mát của Cazoodle 7
Hình 5 - Danh sách top 10 từ khóa được tìm kiếm trong Google, Bing và Yahoo năm 2009 8
Hình 7 - Các mẫu trích xuất sinh tự động cho ngày sinh 19
Hình 8 - Đoạn trích từ bài báo “Năm 2010: ĐH Quốc gia Hà Nội tuyển sinh 5.500 chỉ tiêu” 22
Hình 9 - Đoạn trích từ bài báo “Cá ngừ độc là do chứa histamin tự do” 23
Hình 10 - Trích từ bài báo “11 giám đốc bưu điện đồng loạt hầu tòa” từ trang vnexpress.net 23
Hình 11 - Trích từ bài báo “Siêu lừa Nguyễn Lâm Thái có dấu hiệu tâm thần” từ trang vnexpress.net 24
Hình 13 - Quy trình phân cụm 26
Hình 14 - Ví dụ về thuật toán K-means 27
Hình 15 - Hình vẽ minh họa cho phân cụm dữ liệu dựa trên mật độ 27
Hình 16 - Sơ đồ các phân tử trước khi phân cụm 28
Hình 17 - Sơ đồ các phần tử sau khi phân cụm phân cấp 28
Hình 18 - Phân cụm với Single-linkage 30
Hình 19 - Phân cụm với Complete-linkage 30
Hình 20 - Trung bình các khoảng cách trong GAAC 31
Hình 22 - Trích từ bài viết “Lê Thị Thanh Nhàn – nữ PGS toán học trẻ nhất VN” -báo dantri.com.vn 39
Hình 23 - Trích từ bài viết “Kịch tính vòng chung khảo Nhân tài đất Việt CNTT 2008!” – báo dantri.com.vn 39
Trang 7Danh sách các từ viết tắt
HAC Hierarchical agglomerative clustering GAAC Group-average agglomerative clustering
Trang 8Mở đầu
Sự ra đời của các máy tìm kiếm đã giúp ích cho con người rất nhiều trong các hoạt động khai thác thông tin Tuy nhiên, chất lượng tìm kiếm thông tin vẫn còn nhiều hạn chế, đặc biệt là tìm kiếm thông tin về người, một trong những lĩnh vực có truy vấn lớn nhất trong các máy tìm kiếm Mặt khác, thực thể người là một trong những loại thực thể có độ nhập nhằng cao nhất, vì vậy mà các kết quả trả về bởi máy tìm kiếm sẽ bao gồm tất cả những người có tên giống nhau và người dùng cần phải đọc lần lượt để tìm ra kết quả mong muốn Vì vậy mà cần thiết phải có một hệ thống có khả năng gom cụm kết quả sao cho những trang Web thuộc cùng một cụm nói về một người, và những trang Web thuộc các cụm khác nhau nói về những người khác nhau
Bài toán cốt lõi cho vấn đề này là bài toán giải quyết nhập nhằng tên người trên tập văn bản Bài toán này đã nhận được sự quan tâm từ các nhà nghiên cứu trong các hội nghị lớn trong những năm gần đây như Colling, ACL, Senseval…Đặc biệt là hội nghị WebPS1, hội nghị dành riêng cho các vấn đề giải quyết nhập nhằng tên người trong kết quả tìm kiếm Web Trong những năm gần đây, có rất nhiều nghiên cứu và ý tưởng được đề xuất trên thế giới để giải quyết bài toán này,
Tuy nhiên, đối với tiếng Việt thi các nghiên cứu về bài toán này vẫn còn rất hạn chế Các nghiên cứu tập trung chủ yếu vào việc thể hiện tốt nhất các ngữ cảnh riêng biệt cho từng người, tìm các độ đo tương đồng ngữ cảnh phù hợp và phân cụm ngữ cảnh, hay phân cụm văn bản chứa ngữ cảnh Và các phương pháp thường chỉ thao tác trên một miền dữ liệu tương đối đặc thù, chứ không có một phương pháp khả thi trên nhiều miền dữ liệu Việc tìm ra một phương pháp tốt cho tiếng Việt vẫn là một vấn đề khó khăn, mặc dù tiếng Việt đã giải quyết được một số bài toán cơ sở (thuộc đề tài KC 01.01/06-10), tuy nhiên so với nhu cầu của bài toán giải quyết nhập nhằng tên người thì vẫn chưa đủ
Mục tiêu của khóa luận là khảo sát, nghiên cứu để đưa ra một phương pháp đủ tốt giải quyết bài toán phân biệt nhập nhằng tên người trên miền dữ liệu báo điện tử tiếng Việt Để đạt được mục tiêu này, khóa luận khảo sát một số phương pháp tiêu biểu nhất giải quyết bài toán này trên thế giới Từ đó, khóa luận đưa ra phương pháp giải quyết bài toán phân biệt nhập nhằng tên người trên tập văn bản tiếng Việt Đầu tiên, khảo sát miền dữ liệu báo điện tử để tìm ra những đặc trưng tốt (dựa trên từ vựng và đặc điểm mạng xã hội) thể hiện riêng biệt cho một người, phân biệt người đó với những người khác cùng tên Tiếp đó, thực hiện việc gom cụm các văn bản chứa tên
1http://nlp.uned.es/weps/
Trang 9người này bằng thuật toán HAC Khóa luận đã thực nghiệm với kết quả độ đo F đạt mức tốt so với kết quả của thế giới (F0.5 = 0.791 và F0.2 = 0.773); đồng thời, đề xuất một mô hình hệ thống tìm kiếm thực thể người dựa trên kết quả bài toán này
Nội dung của khóa luận được chia thành các chương như sau:
Chương 1: Khóa luận giới thiệu khái quát về hệ thống tìm kiếm thực thể và bài
toán giải quyết nhập nhằng tên người trên tập tài liệu, vai trò của bài toán đối với hệ thống tìm kiếm thực thể người Khóa luận cũng trình bày mối liên hệ của bài toán với bài toán phân biệt nhập nhằng nghĩa của từ, và phương pháp đánh giá cho bài toán phân biệt nhập nhằng tên người trên tập văn bản
Chương 2: Khóa luận giới thiệu chi tiết các phương pháp tiêu biểu để giải
quyết vấn đề phân biệt nhập nhằng tên người trên tập văn bản
Chương 3: Khoá luận đã giới thiệu các đặc trưng của miền dữ liệu báo điện tử
để từ đó đề xuất ra mô hình giải quyết bài toán nhập nhằng tên người trên tập văn bản 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
Chương 4: Thực nghiệm, kết quả và đánh giá Tiến hành thực nghiệm việc việc
phân biệt nhập nhằng trên miền dữ liệu báo điện tử tiếng Việt với tập dữ liệu kiểm thử là những tên người có độ nhập nhằng cao
Phần kết luận: Tóm lược kết quả đạt được của khóa luận và định hướng phát
triển tương lai
Trang 10Chương 1 Bài toán phân biệt nhập nhằng tên người trong hệ thống tìm kiếm thực thể
Tìm kiếm thông tin là nhu cầu thiết yếu trong cuộc sống con người Con người có được thông tin mong muốn từ rất nhiều các nguồn tài liệu khác nhau như sách vở, tạp chí, và đặc biệt là Internet Internet là một kho dữ liệu đồ sộ, tuy nhiên khai thác nó là một thách thức lớn vì dữ liệu trên Internet quá đa dạng và không có cấu trúc Con người mong muốn có những thông tin ở dạng thực thể, bản ghi (thông tin có cấu trúc) hơn là việc phải đọc lần lượt từng trang Web để tìm ra thông tin mình mong muốn Một trong những đối tượng tìm kiếm được quan tâm nhất là tìm kiếm người Tuy nhiên, khi thực hiện thu thập thông tin về một người, chúng ta vấp phải thách thức là những người khác nhau có cùng tên nhưng người chúng ta mong muốn tìm kiếm chỉ là một trong số họ Vì vậy đối với các hệ thống tìm kiếm thực thể người, giải quyết bài toán nhập nhằng tên có một ý nghĩa rất quan trọng Chương này sẽ giới thiệu một số khái niệm và các vấn đề liên quan đến bài toán phân biệt nhập nhằng tên người trong máy tìm kiếm thực thể
1.1 Hệ thống tìm kiếm thực thể
1.1.1 Những thuận lợi và khó khăn trong việc khai thác thông tin trên WWW
Khối lượng dữ liệu khổng lồ trên WWW là nguồn tài quyên quý giá cho người dùng trong việc khai thác và tìm kiếm thông tin phục vụ cho nhu cầu hiểu biết của mình Người dùng có thể truy cập nguồn tài nguyên này mọi lúc, mọi nơi một cách thuận tiện; họ có nhiều cơ hội tìm kiếm, tổng hợp các tri thức để tạo ra những giá trị mới Tuy nhiên, khai khác nguồn tri thức này thế nào cho hiệu quả là một vấn đề lớn Đặc biệt là khi lượng thông tin trên WWW ngày càng nhiều, và luôn thay đổi hàng ngày hàng giờ tiêu biểu là các tờ báo điện tử tin tức cập nhật trang tin, các website về thị trường chứng khoán Hình thức thông tin ngày càng đa dạng từ văn bản đến âm thanh, hình ảnh làm cho con người cảm giác ngập trong tri thức, khó khăn trong việc tìm ra tri thức mình cần Do đó, cần phải có một cách thức tổ chức, quản lý, điều hành, cập nhật thông tin từ WWW phù hợp để thuận lợi cho việc khai thác
Máy tìm kiếm ra đời như một công cụ hữu ích trợ giúp trong việc khai thác thông tin trên WWW, và phần nào đáp ứng được nhu cầu người dùng Máy tìm kiếm có một cách tổ chức tương đối phức tạp nhằm mục tiêu cải thiện chất lượng khai thác thông tin, bao gồm các thành phần chính [10]:
Trang 11• Crawler: Thành phần này chịu trách nhiệm đi dọc theo các siêu liên kết trên WWW để thu thập các trang web để đảm bảo tính đầy đủ, và tươi mới của của thông tin
• Indexer: Thành phần này thực hiện việc lưu trữ nội dung các trang Web theo cấu trúc chỉ mục ngược đảm bảo việc truy suất nhanh thông tin
• Query Engine: Thành phần này thực hiện xử lý với các truy vấn của người dùng rồi chuyển về dạng phù hợp thực hiện cho việc tìm kiếm
• Ranking: Thành phần này thực hiện việc xếp hạng lại kết quả các trang theo độ phù hợp với câu truy vấn trước đi khi trình bày tới người dùng
Mặc dù đã có rất nhiều cải tiến đối với các thuật toán xếp hạng máy tìm kiếm để thông tin trình bày tới người dùng là phù hợp nhất, nhưng kết quả trả về vẫn là những trang web bao gồm cả vùng thông tin người dùng quan tâm và các thông tin khác họ không quan tâm Do đó, người dùng mất thời gian để duyệt từng trang web tìm ra nội dung mà họ mong muốn
Một bất lợi nữa là người dùng rất khó mô tả được trực tiếp những điều họ truy vấn ngay từ những truy vấn đầu tiên Vì vậy mà họ cần bổ sung, thay đổi truy vấn theo một cách nào đó có thể dựa trên các kết quả tìm kiếm lần trước để có được những thông tin phù hợp với nhu cầu
Các hệ thống tìm kiếm hiện tại vẫn chủ yếu dựa trên mức từ vựng, chưa có nhiều đặc trưng về tính hiểu ngữ nghĩa của ngôn ngữ, kết quả tìm kiếm không giống như người dùng kì vọng đặc biệt là trong các trường hợp từ đồng nghĩa và từ đa nghĩa
Tìm kiếm hướng thực thể là một trong những hướng đi được quan tâm gần đây để giải quyết những hạn chế của các hệ thống tìm kiếm thông tin hiện tại, nhằm đem lại chất lượng khai thác thông tin tốt hơn tới người dùng Xu hướng này sẽ được trình bày ở phần tiếp theo của khóa luận
1.1.2 Hệ thống tìm kiếm thực thể
Rõ ràng với đối tượng trả về là trang Web, mức độ chọn lọc thông tin phù hợp với yêu cầu người dùng của các máy tìm kiếm vẫn còn ở mức độ chưa cao, và điều người dùng cần là thông tin về các thực thể chứ không phải là các trang Web
Ví dụ: bạn Cá muốn tìm kiếm giá, thuộc tính và hình ảnh của điện thoại Nokia 6030, khi đưa truy vấn “Nokia 6030” vào http://google.com sẽ nhận được kết quả như sau:
Trang 12Hình 1 - Kết quả tìm kiếm từ Google với truy vấn “nokia 6030”
Trong 10 kết quả đầu trả về bởi máy tìm kiếm Google, thậm chí có trang không chứa thông tin về các thuộc tính của điện thoại “Nokia 6030”, điều này thật sự không đáp ứng được kì vọng người dùng
Các thực thể rất đa dạng từ các tổ chức, người, các sản phẩm, trường học, công ty và chúng cũng được phân tán ở nhiều loại trang Web khác nhau như trang tin tức, trang bán hàng, trang cá nhân, blog…
Khác với các hệ thống tìm kiếm thông thường có đối tượng tìm kiếm là các trang Web, các hệ thống tìm kiếm thực thể có đối tượng tìm kiếm là các thực thể được trích chọn ra từ nội dung của một hay nhiều trang Web liên quan Hệ thống tìm kiếm thực thể sẽ cung cấp cho người dùng một mức lọc thông tin ở mức cao hơn Và khi đó đồ thị Web được nhìn nhận lại dưới dạng đồ thị các thực thể [18]:
Hình 2 - Đồ thị giữa các trang Web dưới góc nhìn thực thể
Sau đây là kiến trúc một hệ thống tìm kiếm thực thể tiêu biểu dựa trên kỹ thuật trích xuất thông tin [3]
Trang 13Hình 3 - Kiến trúc hệ thống tìm kiếm thực thể tiêu biểu dựa trên kỹ thuật trích xuất thông tin Mô hình hệ thống tìm kiếm thực thể bao gồm các bộ phận chính sau:
• Trích xuất thông tin về thực thể: Công việc của bộ phận này là trích xuất ra các thông tin liên quan đến thực thể này từ tất cả các trang Web chứa loại thực thể Ví dụ với thực thể điện thoại thì cần phải trích xuất được giá, nhà sản xuất, hình ảnh, bản mô tả… của chiếc điện thoại đó Đây là bài toán không đơn giản vì các miêu tả theo ngôn ngữ tự nhiên không theo một mẫu nhất định đối với dữ liệu phi cấu trúc, và bố cục trang Web cũng không giống nhau đối với dữ liệu bán cấu trúc Một giải pháp đặt ra là xây dựng bộ phận trích xuât thông tin cho từng loại trang Web cho dữ liệu bán cấu trúc Tuy nhiên điều này là rất khó khăn khi thực hiện bóc tách thông tin trên một số lượng lớn các trang Web
• Tổng hợp thông tin về thực thể: Sau khi có thông tin về từng thực thể, bộ phận này phải chịu trách nhiệm tổng hợp lại các thông tin thu thập được ở những lần khác nhau về cùng thực thể đó Ví dụ: Với cùng một sản phẩm, trong một trang Web có giá của nó và trong các trang Web có các chức năng, nếu ta có thể tổng hợp thông tin về thực thể thì ta sẽ có cái nhìn đầy đủ thông tin về thực thể Tuy nhiên điều này gặp phải một số khó khăn như: vấn đề những thực thể khác nhau dùng cùng một tên và những tên khác nhau cùng trỏ về một thực thể, đặc biệt là trong vấn đề tìm kiếm người Phần tiếp theo của khóa luận sẽ trình bày chi tiết
Trang 14các vấn đề liên quan đến bài toán phân biệt nhập nhằng tên người trong tìm kiếm thực thể người
Một số hệ thống tìm kiếm thực thể tiêu biểu:
Hệ thống Cazoodle2 do nhóm nghiên cứu của Kevin Chen-Chuan Chang (thuộc phòng thí nghiệm Cơ sở dữ liệu và Hệ thống thông tin DAIS thuộc trường đại học Illinois) là một hệ thống tìm kiếm thực thể điển hình, bao gồm các lĩnh vực tìm kiếm nơi nghỉ mát (Vacation Rental), tìm kiếm căn hộ (Apartment Rentals), và giá cả sản phẩm (Electronics Shopping)
Hình 4 - Hệ thống tìm kiếm nơi nghỉ mát của Cazoodle
1.1.3 Vấn đề giải quyết nhập nhằng tên trong hệ thống tìm kiếm thực thể người
Các truy vấn tìm kiếm người chiếm một tỉ lệ cao ( khoảng 10%) trong tìm kiếm
thông tin trên Internet Theo thống kê những từ khóa được tìm kiếm nhiều nhất năm 2009, thì ở cả 3 máy tìm kiếm là Google, Bing và Yahoo đứng đầu đều là “Michael JackSon”, và trong top 10 có rất nhiều từ khóa tìm kiếm tên người
2http://www.cazoodle.com/
Trang 15Hình 5 - Danh sách top 10 từ khóa được tìm kiếm trong Google, Bing và Yahoo năm 2009
Nhưng tên người lại là một trong những loại thực thể có độ nhập nhằng cao nhất Ví dụ: khi tìm kiếm tên “Michael JackSon” trong hàng trăm kết quả trả về bởi máy tìm kiếm Google, bên cạnh ca sỹ nổi tiếng còn có một chuyên gia về bia và một người buôn súng Việc phải duyệt từng trang Web để tìm ra người cần là một quá trình tốn thời gian Trong một hệ thống lý tưởng, người dùng chỉ cần đưa vào tên người, và kết quả sẽ được phân cụm, trong đó mỗi cụm bao gồm các tài liệu về cùng một người kèm theo những mô tả cho cụm đó, điều này giúp cho người dùng tiết kiệm được rất nhiều thời gian và công sức Các hệ thống thực thể tìm kiếm hiện tại đang chủ yếu vào tập trung vào vấn đề trích xuất thuộc tính thực thể, nhưng với tìm kiếm thực thể người thì vấn đề phân biệt nhập nhằng có ý nghĩa đặc biệt quan trọng Nếu ta giải quyết được bài toán này, ta có khả năng tổng hợp, “hàn gắn” các thông tin khác nhau về cùng một người trong những lần xuất hiện khác nhau, cho ta một cái nhìn đầy đủ toàn diện về người đó
Ví dụ nếu người A tham gia sự kiện B,C ở trang P1, A lại tham gia sự kiên D,E ở trang P2, ta có thể xây dựng được luồng sự kiện hoàn chỉnh nếu 2 tên A đều trỏ tới một người
Trang 16Hình 1.6 –
Từ những phân tích trên ta thấy rằng, bài toán giải quyết nhập nhằng tên người trong hệ thống tìm kiếm thực thể quy về vấn đề giải quyết nhập nhằng tên người trên tập văn bản Phần tiếp theo của chương này sẽ trình bày chi tiết về bài toán phân biệt nhập nhằng tên người trên tập văn bản
1.2 Bài toán phân biệt nhập nhằng tên người trên tập văn bản
1.2.1 Phát biểu bài toán
Theo Bagga [6], bài toán phân biệt nhập nhằng tên người trên tập văn bản có mục tiêu là với mỗi tên người cho trước cần phải phân chia tập văn bản chứa tên đó thành các nhóm, sao cho các văn bản trong cùng một nhóm cùng chỉ đến một người và các văn bản thuộc các nhóm khác nhau thì chỉ đến những người khác nhau
Miền dữ liệu của bài toán: Tập các trang Web tin tức từ các tờ báo điện tử của Việt Nam
1.2.3 Mối quan hệ với bài toán phân biệt nhập nhằng nghĩa của từ
Bài toán phân biệt nhập nhằng nghĩa của từ (Word Sense Disambiguation - WSD) là bài toán có ý nghĩa quan trọng trong lĩnh vực xử lý ngôn ngữ tự nhiên, dành được sự quan tâm nghiên cứu của các nhà khoa học từ rất lâu Với hầu hết các ngôn ngữ, luôn tồn tại một tập các từ có nhiều hơn một nghĩa, mà nghĩa của từ chỉ có thể
Hình 6 - Tổng hợp thông tin về người A từ 2 trang P1 và P2
Trang 17xác định dựa trên ngữ cảnh xuất hiện của nó Mục tiêu của bài toán là xác định nghĩa của một từ trong một văn bản cho trước, kết quả của bài toán này đóng vai trò quan trọng để thực hiện các bài toán quan trọng tiếp theo trong lĩnh vực xử lý ngôn ngữ tự nhiên như dịch máy, tóm tắt văn bản…Các hướng nghiên cứu giải quyết vấn đề này rất đa dạng bao gồm học giám sát (supervised learning), học bán giám sát (semi-supervised learning) và học không giám sát (unsupervised learning)
Bài toán phân biệt nhập nhằng tên và nhập nhằng nghĩa đều có mục đích là giải quyết nhập nhằng trong xử lý ngôn ngữ tự nhiên Tuy nhiên bài toán WSD giải quyết với một lớp rộng các từ: danh từ, tính từ, động từ, trạng từ…Khác biệt đầu tiên là sự khác biệt nghĩa của từ là khá tinh tế, có những nghĩa rất gần nhau nhiều khi với chính con người điều này rất khó khăn để nhận biết Trái lại, với vấn đề tên người, sự phân biệt rất rõ ràng Khác biệt thứ hai là WSD thường làm việc với từ điển chứa một số lượng nhỏ các nghĩa ứng với một từ Nhưng với bài toán phân biệt tên người thì số lượng người khác nhau lại không được biết trước và số lượng trung bình cho mỗi tên cao hơn nhiều so với số lượng nghĩa cho mỗi từ ( Có khoảng 90000 tên được chia sẻ bởi 100 triệu người theo US Census Bureau)
Chính vì số lượng tên người không biết trước nên việc xây dựng tập đặc trưng cho từng người là một điều vô cùng khó khăn Do đó hầu hết các các tiếp cận giải
quyết vấn đề này chủ yếu dựa trên phương pháp học không giám sát 1.2.3 Phương pháp đánh giá
Trong khóa luận này, chúng tôi sử dụng phương pháp đánh giá của hội nghị WePS-1 2007 (Hội nghị lớn nhất về các vấn đề trong tìm kiếm thực thể người Đến thời điểm này hội nghị đã tổ chức đến WebPS-3 tập trung vào hai nhiệm vụ trọng tâm là trích xuất thuộc tính về người và phân biệt nhập nhằng tên người và tên các tổ chức) dựa trên độ tinh khiết (purity), độ nghịch đảo tinh khiết (inverse purity) và độ đo F Các độ đo được định nghĩa như sau:
Gọi C là tập các cụm cần đánh giá, L là tập hợp các mục (categories) được gán nhãn bằng tay (các mục ứng với những người khác nhau) và n là số lượng các văn bản được phân cụm Độ tinh khiết được tính dựa trên việc lấy trung bình có trọng số độ chính xác:
(1.1)
Trang 18Độ nghịch đảo tinh khiết tập được tính bởi công thức :
(1.2) Trong đó:
Độ chính xác ứng với cụm Ci với mỗi mục Lj được định nghĩa như sau: Precision (Ci, L j) = | Ci ∩ Lj| / | Ci| (1.3) Độ đo F được tính theo công thức:
(1.4) Hệ thống thường sử dụng α = 0.5 và α = 0.2
Tóm tắt chương một
Trong chương này, khóa luận giới thiệu khái quát về hệ thống tìm kiếm thực thể và bài toán giải quyết nhập nhằng tên người trên tập tài liệu, vai trò của bài toán đối với hệ thống tìm kiếm thực thể người Khóa luận cũng trình bày mối liên hệ của bài toán với bài toán phân biệt nhập nhằng nghĩa của từ, và phương pháp đánh giá cho bài toán Trong chương tiếp theo, khóa luận nêu ra một số phương pháp giải quyết được áp dụng thành công trong lĩnh vực này
Trang 19Chương 2 Phương pháp giải quyết bài toán nhập nhằng tên người trên tập văn bản
Trong chương này, khóa luận trình bày một số nghiên cứu trên thế giới về giải quyết nhập nhằng tên người trên tập văn bản Vấn đề này được thực hiện trên nhiều miền lĩnh vực khác nhau từ phân biệt các tác giả trong các công trình khoa học, tên người được đề cập đến trong các nhật báo, và những người nổi tiếng trên môi trường WWW…Và mỗi miền ứng dụng khác nhau, các cách tiếp cận khác nhau được đề xuất nhằm lấy ra những đặc trưng được coi là tiêu biểu nhất cho ngữ cảnh Ở hầu hết các công trình đều sử dụng giả thiết rằng, tất cả các tên giống nhau được đề cập trong một văn bản đều chỉ nói tới một người duy nhất Vì vậy công việc phân biệt nhập nhằng tên người chuyển về bài toán phân cụm ngữ cảnh, trong đó những văn bản đề cập tới một người được nhóm vào một cụm, văn bản đề cập đến những người khác thì thuộc cụm khác và mỗi văn bản chỉ được thuộc về một cụm duy nhất
2.1 Tiếp cận dựa trên thực thể định danh
Vào năm 1998, Bagga và Breck Baldwin [6] giới thiệu phương pháp giải quyết bài toán phân biệt nhập nhằng tên người bằng cách xây dựng ngữ cảnh dựa trên tập thực thể định danh xuất hiện trong câu chứa tên người bằng mô hình không gian vector Phương pháp này được thực nghiệm trên tập dữ liệu gồm 197 bài báo từ năm 1996 đến 1997 của tạp chí New York Times
Mô tả phương pháp của Bagga như sau:
Bước 1 : Đầu tiên với mỗi bài báo được đưa vào, phần mềm CAMP sẽ xử lý
những bài báo này Kết quả của quá trình xử lý là một chuỗi các thực thể và các tham chiếu của nó trong văn bản.(Hệ thống CAMP của trường đại học Pennsylvania giải quyết bài toán đồng tham chiếu trong một văn bản cho các lớp khác nhau như đại từ, danh từ riêng [8] Kết quả của hệ thống CAMP là một chuỗi các thực thể có tên xuất hiện trong văn bản và các tham chiếu tới nó tương ứng trong văn bản đó)
Trang 20Văn bản doc.38
Oliver “Biff” Kelly of Weymonth succeeds John Perry as President of Massachusetts Golf Association “We will haved continues growth in the future” said Kelly, who will serve for two years “There’s been a lot of changes and there will be continued change as we head into the year 2000”
Kết quả của bước này đối với văn bản doc.36 là một chuỗi như sau:
Hình 2.1 – Kết quả phân tích đồng tham chiếu văn bản doc.36
Kết quả của bước này đối với văn bản doc.38:
Hình 2.2 – Kết quả phân tích đồng tham chiếu văn bản doc.38
Bước 2 : Với mỗi chuỗi đồng tham chiếu cần được quan tâm ( ví dụ chuỗi đồng
tham chiếu ứng với “Jonh Perry” ) , module “Sentence Extractor” sẽ trích xuất ra tất cả những câu chứa cụm danh từ trong chuỗi đồng tham chiếu trong văn bản Hay nói cách khác, module này sẽ thực hiện công việc tạo ra một bản tóm tắt biểu diễn chuỗi
thực thể của mỗi bài báo hướng về thực thể được quan tâm Do đó với văn bản doc.36,
vì ít nhất một trong 3 cụm danh từ trong chuỗi đồng tham chiếu ( “John Parry”, ”He”, Oliver “Biff”
Kelly
John Parry Massachusetts Golf Association
Kelly
John Parry Weston Golf
Club Golf Association Massachusetts Woment’s Golf Association He
Perry
Trang 21”Perry” ) đều xuất hiện trong các câu của văn bản , nên phần tóm tắt được sinh bởi
module “Sentence Extractor” chính là phần trích xuất được Còn với văn bản doc.38
phần tóm tắt chỉ là câu đầu tiên của phần trích xuất được bởi vì chỉ có duy nhất 1 thành phần duy nhất “John Parry” xuất hiện ở câu này
Bước 3 : Với mỗi bài báo, hệ thống sử dụng mô hình biểu diễn không gian
vector (Vector Space Model) tính độ tương đồng giữa các bài báo này Với mỗi bản
tóm tắt có được từ bước trước, các từ dừng được lọc bỏ, các từ khác được phân tích hình thái để đưa về dạng ban đầu, và được biểu diễn bằng mô hình vector Độ tương đồng vượt trên một ngưỡng thì 2 bài báo được coi là cùng nói về một người
Trong đó tf là tần số của tj trong phần tóm tắt N là số lượng văn bản
2.2 Tiếp cận dựa trên từ khóa
Trong bài báo năm 2006, Danushka Bollengala [9] trình bày một thuật toán học không giám sát tạo ra những cụm từ khóa duy nhất để phân biệt những người khác nhau có cùng tên Thuật toán nhận đầu vào là tên một người và cho ra kết quả là tập các cụm từ khóa duy nhất thể hiện cho những người khác nhau Các cụm từ này sau đó có thể được bổ sung vào truy vấn để làm hẹp miền tìm kiếm do đó tăng độ chính xác cho các kết quả tìm kiếm Phương pháp được áp dụng cho miền dữ liệu các tên nhà khoa học trên dữ liệu Web
Lược đồ hệ thống được mô tả như sau
Trang 22Hình 2.3 - Lược đồ hệ thống phân biệt nhập nhằng tên người dựa trên từ khóa
Những module chính của hệ thống:
Bước 1: Thu thập web chứa tên cần phân biệt nhập nhằng (Download Web Pages)
Bước này hệ thống sử dụng máy tìm kiếm Google, các truy vấn sẽ được đưa vào máy tìm kiếm và lấy ra 100 kết quả đầu tiên cho mỗi tên cần phân biệt nhập nhằng Bước này có thể bỏ qua nếu như đã có sẵn một tập tài liệu chứa tên nhập nhằng
Bước 2: Trích xuất các “term” quan trọng (Extract Terms)
Ở bước này mô hình dựa trên giả thuyết là: Nếu sự xuất hiện của các tên nói về cùng một người thì ngữ cảnh xung quanh chúng là giống nhau Và điều này dẫn đến là nếu 2 tên có ngữ cảnh xuất hiện giống nhau thì khả năng cao là chúng đề cập đến cùng một người Do đó, hệ thống cần phải chọn được những đặc trưng mang thông tin tốt nhất cho ngữ cảnh tên người xuất hiện
Mô hình “Term” (Term Model) được đề xuất cho việc thể hiện ngữ cảnh của mỗi
tên
Mô hình T(A) = t1, t2,… tN của một tên A được định nghĩa như một tập hợp các “term” được trích xuất từ ngữ cảnh của tên Các “term” được trích xuất tự động sử dụng thuật toán C-Value
Thuật toán C-Value kết hợp thông tin về ngôn ngữ và thông tin về thống kê Thông tin về ngôn ngữ bao gồm việc gán nhãn từ loại, lọc bỏ từ dừng, và sử dụng một số mẫu về ngôn ngữ để thành lập các cụm danh từ Ví dụ như: có mẫu một số tính từ đứng trước danh từ thì chúng và danh từ đó tạo thành cụm danh từ Các thông tin về thống kê cho phép loại bỏ các cụm từ ít mang lại thông tin cho ngữ cảnh của tên Khái niệm “termhood” (mức độ một cụm danh từ trở thành “term”) được đánh giá dựa trên C-value[14,15] Giá trị của C-value được tính như sau:
Trang 23(2.3) Trong đó:
a là ứng viên
f(a) là tần số của ứng viên trong văn bản |a| là độ dài của a
Talà tập các cụm từ chứa a P(Ta) là số lượng cụm từ Ta
Bước 3 : Thu thập snippet (Download snippets)
Việc phân biệt nhập nhằng tên dựa vào độ tương đồng ngữ cảnh Việc tính độ tương đồng dựa trên so khớp “term” là rất khó, vì các “term” có sự lặp lại rất ít Ví dụ: “term” “George Bush” và “term” “The president of the United States” dù gần nhau về mặt ý nghĩa nhưng lại không có từ nào lặp lại trong nhau Vì vậy hệ thống tính toán độ tương đồng giữa 2 “term” sử dụng “snippet” được trả về bởi máy tìm kiếm.( “Snippet” là một mẩu văn bản nhỏ, chứa 2 hay 3 câu được trích xuất từ văn bản cho câu truy vấn, và thường đi kèm với các kết quả tìm kiếm của các máy tìm kiếm)
Ví dụ: với trường hợp của “George Bush” và “The president of the United States”, trong số 5 “snippet” được trả về bởi máy tìm kiếm Google, có nhiều từ chung như “President”, “White House”, “Official” , “and”, “site” Đối với mỗi “term” ta xây dựng phân bố (distribution) của các từ trong các “snippet” của “term” Tần suất xuất hiện mỗi từ được chia cho tổng số từ trong các “snippet” Sau đó hệ thống tính toán độ phân kỳ (divergence) KullBack-Liebler (KL), như độ đo tương tự giữa 2 “term” Với 2 phân bố xác suất p(x) và q(x) của biến xác suất ngẫu nhiên x ∈ Xđộ phân kỳ KullBack-Liebler được định nghĩa như sau:
Trong đó X là tập từ vựng KL-divergence sẽ trở nên không xác định khi có những từ có xác suất bằng 0 “Skew divergence” Sα (p,q)được dùng để giải quyết vấn đề này
P( ) ( )1
) trường hợp ngược lại
Trang 24Trong đó α ⊂ [0,1] là mức độ thiên lệch giữa hai phân bố p và q Để chuyển từ “Skew divergence” bất đối xứng sang độ đo đối xứng sim(p,q) ta sẽ lấy giá trị phân tán
trung bình (average diverge):
sim(p,q) =
Trong phần cài đặt hệ thống lấy 100 “snippets” từ Google và α = 0.9
Bước 4: Tính toán độ tương đồng (Calculate similarity)
Lấy T(A) = {a1, a2, a3,…, an} là mô hình “term” cho văn bản A và T(B) = { b1, b2, b3,…, bm} là mô hình “term” cho văn bản B Ở đây a1, a2, a3,…, an là các term trích xuất từ văn bản A, và b1, b2, b3,…, bm là các term trích xuất từ văn bản B Chúng ta định nghĩa độ tương đồng DocSim(A,B) giữa A và B sử dụng mô hình T(A) và T(B) như sau:
i basim
ai ∈ A , bj∈ B
Ở đây sim(ai, bj) được tính ở công thức (2.6)
Bước 5 : Phân cụm văn bản :
Hệ thống sử dụng phương pháp phân cụm trung bình nhóm (Group-average
agglomerative clustering (GAAC)) để phân cụm các văn bản chứa tên xuất hiện Đây
là phương pháp phân cụm phân cấp từ dưới lên Ban đầu mỗi văn bản được gán là một cụm riêng rẽ GAAC tại mỗi vòng lặp trộn 2 cụm mới thỏa mãn cực đại hóa giá trị C
(2.8) Trong đó |Γ| là số văn bản trong cụm và u, v là 2 văn bản trong cụm Γ
Bước 5: Lựa chọn số cụm
Trong trường hợp tốt nhất, chọn được số cụm bằng chính số người có trùng tên Tuy nhiên, số người là không biết trước nên bài toán tìm số cụm chuyển về bài toán tối ưu hóa:
Cực đại hóa độ tương đồng các văn bản trong cụm
Cực tiểu hóa độ tương đồng văn bản ở các cụm khác nhau
Trong bài báo này tác giả cố gắng tìm số cụm để thỏa mãn 2 điều kiện trên bằng độ đo liên kết trong cụm và độ tương tác ngoài
Bước 6: Lựa chọn các “term” đại diện cho các cụm
Thuận toán GAAC tạo ra một tập các cụm đại diện cho những người khác nhau Để lựa chọn từ khóa giúp nhận dạng một cách duy nhất cho mỗi người, đầu tiên hệ thống sẽ lấy ra tất cả những “terms” trong mô hình “term” như là những từ khóa giúp nhận diện duy nhất một người Sau đó trong những “term” này lấy ra những “term” có tính phân biệt cao nhất cho mỗi người Quá trình được thực hiện qua 2 bước Bước đầu
Trang 25tiên sẽ giảm bớt số “term” trong môt cụm bằng cách bỏ những “term” mà nó cũng xuất hiện trong cụm khác Bước thứ hai, lựa chọn các term trong mỗi cụm dựa vào độ tương đồng với tên được đưa vào tìm kiếm ban đầu, và lựa chọn những “term” có độ tương đồng cao nhất
2.3 Tiếp cận dựa trên kỹ thuật trích xuất thông tin
Năm 2003, S.Mann và David Yarowsky [13] giới thiệu một thuật toán không giám sát hiệu quả để phân biệt nhập nhằng tên người Phương pháp này dựa trên kỹ thuật trích xuất thông tin sử dụng thuật toán không giám sát để sinh tự động mẫu trích xuất của Ravichan và Hovy [11] và thuật toán phân cụm phân cấp Việc sử dụng kỹ thuật trích xuất thông tin giúp làm giàu đặc trưng cho người bằng các thuộc tính cá nhân như : ngày sinh, nghề nghiệp, nơi làm việc, quốc tịch, nơi ở Tác giả đã kết hợp và so sánh kết quả của việc kết hợp các thuộc tính cá nhân và các đặc trưng khác như: các từ trong văn bản, danh từ riêng, đặc trưng mở rộng
Mô hình tác giả đưa ra gồm 2 pha chính:
Pha 1: Sử dụng kỹ thuật trích xuất thông tin để trích xuất các thuộc tính đặc
trưng mạnh cho người cần phân biệt Trong pha 1 chia làm 2 bước nhỏ:
Bước 1: Sinh mẫu trích xuất đặc trưng
Hệ thống sử dụng và mở rộng phương pháp của Ravichan và Hovy [11] Phương pháp này dựa trên kỹ thuật boot-trapping, tự động sinh mẫu từ tập nhân mồi ban đầu Nó có lợi thế là không phụ thuộc vào ngôn ngữ (independent language) , vì vậy mà nó rất khả chuyển có thể sinh mẫu cho các ngôn ngữ khác nhau với độ chính xác cao
Ví dụ với tập nhân ban đầu là (‘Mozart’,1756)
Hệ thống sẽ sinh ra một truy vấn đưa vào máy tìm kiếm để tìm ra những câu chứa cặp nhân trên Ví dụ với máy tìm kiếm Altavista truy vấn là “Mozart”+ “1976 Sau đó chỉ giữ lại nhưng câu chứa đủ cả cặp nhân
Tất các các sâu con chứa cặp nhân này trong mỗi câu được lấy ra Những sâu con này được đơn giản hóa bằng cách thay các nhân bằng nhãn của nó Trong trường hợp này ta thay ‘Mozart’ bằng <name> và 1976 bằng <birth year> Tất cả những chữ số khác được thay bằng dấu #
Từ tất cả các chuỗi này ta xây dựng nên cây hậu tố (suffix-tree), và chỉ giữ lại những chuỗi con có tần xuất xuất hiện cao
Với mỗi chuỗi con có tần số cao này lại lọc ra chỉ chọn những chuối chứa đủ tập nhân ban đầu là ‘Mozart’ và 1756, khi đó chúng sẽ trở thành những mẫu tiềm năm