Trong đó, cách tiếp cận dựa trêncác Ontology được xem là cách tiếp cận hiện đại và phù hợp nhất cho việc thiết kế biểudiễn, xử lý nội dung và ý nghĩa thông tin của các trang báo điện tử.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
────────────
HỒ LONG VÂN
MÔ HÌNH VÀ THUẬT GIẢI CHO HỆ HỖ TRỢ TÌM KIẾM THÔNG TIN THEO NGỮ NGHĨA
TRÊN CÁC BÁO ĐIỆN TỬ
LUẬN VĂN THẠC SĨ NGÀNH KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01.01
TP HỒ CHÍ MINH - NĂM 2014
Trang 3HỒ LONG VÂN
MÔ HÌNH VÀ THUẬT GIẢI CHO HỆ HỖ TRỢ TÌM KIẾM THÔNG TIN THEO NGỮ NGHĨA
TRÊN CÁC BÁO ĐIỆN TỬ
LUẬN VĂN THẠC SĨ NGÀNH KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01.01
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS-TS ĐỖ VĂN NHƠN
Trang 5Tôi xin cam đoan đây là công trình nghiên cứu của bản thân Các số liệu, kết quảtrình bày trong luận văn này là trung thực Những tư liệu được sử dụng trong luận văn cónguồn gốc và trích dẫn rõ ràng, đầy đủ
TP Hồ Chí Minh, ngày 01 tháng 12 năm 2014
Hồ Long Vân
Trang 6Trước tiên, em xin chân thành cảm ơn quý thầy cô trường Đại học Công nghệThông tin - ĐHQG thành phố Hồ Chí Minh đã tận tình dạy bảo cho em nhiều kiến thức
bổ ích trong thời gian học tập tại trường, cũng như tạo điều kiện cho em thực hiện đề tàinày Kính chúc quý thầy cô luôn dồi dào sức khoẻ và thành công trong cuộc sống
Đặc biệt, em xin bày tỏ lòng biết ơn chân thành, sâu sắc đến PGS TS Đỗ VănNhơn, người Thầy đã tận tâm, nhiệt tình hướng dẫn và chỉ bảo em trong suốt quá trìnhthực hiện luận văn Luận văn này sẽ rất khó hoàn thành nếu không có sự truyền đạt kiếnthức quí báu và sự hướng dẫn nhiệt tình của Thầy
Con xin gửi tất cả lòng biết ơn và sự kính trọng đến ông bà, cha mẹ và nhữngngười thân đã nuôi dạy, luôn bên cạnh động viên và ủng hộ con trên con đường học tập
mà con đã lựa chọn, những người đã cho con niềm tin và nghị lực vượt qua mọi khó khăntrong quá trình học tập và làm việc
Xin cảm ơn tất cả bạn bè đã động viên, giúp đỡ và hỗ trợ tôi rất nhiều trong quátrình thực hiện luận văn, cũng như đóng góp cho tôi nhiều ý kiến quý báu, qua đó, giúptôi có nhiều ý tưởng hay hơn để hoàn thiện cho đề tài này
Một lần nữa xin chân thành cảm ơn!
TP Hồ Chí Minh, ngày 01 tháng 12 năm 2014
Hồ Long Vân
Trang 7LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
DANH MỤC CÁC TỪ VIẾT TẮT v
DANH MỤC BẢNG vi
DANH MỤC HÌNH vii
MỞ ĐẦU viii
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI 1
1.1 Thực trạng và nhu cầu xây dựng hệ hỗ trợ thu thập, tìm kiếm thông tin 1
1.2 Vấn đề thu thập thông tin 2
1.3 Vấn đề tìm kiếm thông tin theo ngữ nghĩa 4
1.4 Vấn đề phát hiện sự trùng lắp thông tin 7
1.5 Mục tiêu và giới hạn đề tài 8
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 11
2.1 Các phương pháp thu thập thông tin 11
2.2 Mô hình CK_ONTO 15
2.3 Mô hình Newspaper Model 20
2.4 Một số phương pháp rút trích keyphrase đặc trưng ngữ nghĩa 25
2.5 Các phương pháp biểu diễn tài liệu 34
2.6 Các phương pháp tính khoảng cách ngữ nghĩa giữa các khái niệm 40
CHƯƠNG 3: CÁC VẤN ĐỀ VÀ THUẬT GIẢI 47
3.1 Mô hình của hệ thống tìm kiếm báo điện tử theo ngữ nghĩa 48
3.2 Các vấn đề và thuật giải 55
3.2.1 Thu thập tin bài 55
3.2.2 Rút trích tự động keyphrase đặc trưng ngữ nghĩa cho tin bài, câu truy vấn 58
3.2.3 Bài toán tìm kiếm tin bài theo ngữ nghĩa 61
Trang 83.2.5 Điểm tin 79
CHƯƠNG 4: ỨNG DỤNG VÀ THỬ NGHIỆM 84
4.1 Phân tích và thiết kế hệ thống 84
4.1.1 Phân tích các chức năng của hệ thống 84
4.1.2 Thiết kế hệ thống 87
4.2 Cài đặt hệ thống 89
4.2.1 Nền tảng công nghệ 89
4.2.2 Tổ chức giao diện 89
4.3 Thử nghiệm và đánh giá 100
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 111
5.1 Kết quả của luận văn 111
5.1.1 Về mặt lý thuyết 111
5.1.2 Về mặt ứng dụng 112
5.2 Hạn chế của đề tài 113
5.3 Hướng phát triển 114
DANH MỤC CÔNG BỐ KHOA HỌC CỦA TÁC GIẢ 115
TÀI LIỆU THAM KHẢO 116
PHỤ LỤC 119
Trang 9STT Từ viết tắt Ý nghĩa
1 URL Uniform Resource Locator
2 RSS Really Simple Syndication
3 HTML HyperText Markup Language
4 CK_ONTO Classed Keyphrase based Ontology
5 KĐTNN Keyphrase đặc trưng ngữ nghĩa
Trang 10Bảng 3.1: Trọng số được gán cho mỗi quan hệ……….67Bảng 4.1: Thống kê kết quả tìm kiếm theo từ khoá trên kho thử nghiệm 1000 tin bài 101Bảng 4.2: Thống kê kết quả tìm kiếm ngữ nghĩa trên kho thử nghiệm 1000 tin bài.… 104Bảng 4.3: Thống kê kết quả tìm kiếm theo chủ đề trên kho thử nghiệm 1000 tin bài….107Bảng 4.4: Thống kê kết quả tìm kiếm tin bài gần giống nhau.………108Bảng 4.5: Thống kê chức năng điểm tin.……….109
Trang 11Hình 2.1: Quy trình xử lý của Crawler……….………….12
Hình 2.2: Kiến trúc tổng quát của một RSS……… 14
Hình 2.3: Ví dụ về một đồ thị keyphrase ………37
Hình 2.4: Ví dụ về một đồ thị keyphrase mở rộng………38
Hình 3.1: Quy trình xây dựng đồ thị keyphrase cho câu truy vấn……….64
Hình 3.2: Quy trình xây dựng đồ thị keyphrase cho tin bài báo điện tử………65
Hình 4.1: Cấu trúc tổng quát của hệ thống ……….87
Hình 4.2: Menu các chức năng của hệ thống ……… 90
Hình 4.3: Giao diện trang chủ của hệ thống ……… 90
Hình 4.4: Giao diện danh sách các trang báo điện tử………91
Hình 4.5: Giao diện quản lý thông tin và cấu trúc của một trang báo điện tử………
Hình 4.6: Giao diện tập danh sách các chủ đề tin tức.……… 93
Hình 4.7: Giao diện thông tin của một chủ đề tin tức………93
Hình 4.8: Giao diện cấu hình lựa chọn chế độ và chiến lược thu thập Hình 4.9: Giao diện quản lý kho tin bài……….95
Hình 4.10: Giao diện nâng cao cho “Tìm kiếm thông thường”……….96
Hình 4.11: Giao diện nâng cao cho “Tìm kiếm ngữ nghĩa”……… 97
Hình 4.12: Giao diện kết quả tìm kiếm sắp xếp theo “Trang báo điện tử”………98
Hình 4.13: Giao diện chức năng lọc tin kết quả tìm kiếm……….99
Hình 4.14: Giao diện chức năng điểm tin.……….99
Trang 12Kể từ khi ra đời vào những năm 1990, World Wide Web nhanh chóng giới thiệuđến cộng đồng thế giới một cái nhìn mới lạ về một cổng thông tin điện tử, nơi mọi người
có thể xuất bản mọi thứ dưới dạng điện tử và tìm kiếm những thông tin cần thiết Tuynhiên, sự phát triển nhanh chóng với số lượng khổng lồ của dữ liệu dẫn tới việc truy xuấtthông tin đối với người dùng trở nên vô cùng phức tạp Vì vậy, các hệ thống tìm kiếm rađời đem lại những tiện lợi cho việc tìm kiếm thông tin
Các hệ thống tìm kiếm thông tin hiện nay phần lớn vẫn dựa trên từ khóa và mức
độ phổ biến của tài liệu Một danh sách các từ khóa là dạng biểu diễn sơ lược nhất củanội dung và cách biểu diễn này mang mức độ thông tin thấp Vấn đề khó khăn đối vớingười sử dụng là ở khả năng mô tả nhu cầu thông tin bằng một số từ khóa biểu diễn vàchuyển nhu cầu này thành dạng thức truy vấn phù hợp với hệ thống Đặc biệt đối vớingười sử dụng ít kinh nghiệm không thể đặc tả đúng từ khóa cho vấn đề cần tìm kiếm Đóchính là những lý do cơ bản khiến cho các hệ thống tìm kiếm hiện nay có kết quả trả vềkhông phải lúc nào cũng thỏa mãn yêu cầu của người sử dụng, như là độ chính xác khôngcao hay không tìm thấy được những tài liệu liên quan khi chúng được mô tả với những từkhóa khác đồng nghĩa hoặc gần nghĩa với từ khóa mà người dùng cung cấp Từ những
mô hình tìm kiếm đơn giản ban đầu như Boolean, nhiều tác giả đã nỗ lực cải thiện hiệuquả của việc tìm kiếm thông qua các mô hình phức tạp hơn như mô hình không gianvector (Vector Space Model), các mô hình xác suất (Probabilitic Models), mô hình ngônngữ (Language Model) Nhiều nghiên cứu khác nhằm nỗ lực thay đổi cách đánh trọng số,đưa vào xử lý ngôn ngữ tự nhiên, khử nhập nhằng, mở rộng tài liệu, mở rộng câu truy vấn
… cũng góp phần làm tăng hiệu quả tìm kiếm Mặc dù có nhiều cải tiến để cải thiện kếtquả, những hạn chế của việc sử dụng từ khóa vẫn chưa được khắc phục
Trang 13hướng tri thức hoặc xử lý ngữ nghĩa Theo đó, những hệ thống tìm kiếm dựa trên kháiniệm được nghiên cứu phát triển nhằm thay thế cho những hệ thống truyền thống vốn đãbộc lộ nhiều khuyết điểm lớn Việc tìm kiếm sẽ dựa trên không gian các khái niệm và cácmối quan hệ ngữ nghĩa giữa chúng Những cách tiếp cận theo hướng ngữ nghĩa hay theocấu trúc khái niệm này hướng tới việc mô phỏng một cách tự nhiên cách con người giaotiếp, nghĩa là mô phỏng cấp độ hiểu về ý nghĩa của từ, cụm từ hay văn bản mà ngườidùng cung cấp tương ứng với những gì người dùng nghĩ Trong đó, cách tiếp cận dựa trêncác Ontology được xem là cách tiếp cận hiện đại và phù hợp nhất cho việc thiết kế biểudiễn, xử lý nội dung và ý nghĩa thông tin của các trang báo điện tử.
Xuất phát từ nhu cầu thực tế và khả năng nghiên cứu phát triển giải pháp cũng nhưứng dụng, đề tài đã tìm hiểu và nghiên cứu các kỹ thuật để xây dựng hệ hỗ trợ tìm kiếmtin bài theo ngữ nghĩa trên các báo điện tử bao gồm các mô hình, vấn đề, thuật giải, quytrình xây dựng hệ thống trong đó cố gắng quản lý được các thông tin liên quan tới ngữnghĩa của tài liệu cũng như hỗ trợ biểu diễn và xử lý ngữ nghĩa trong tìm kiếm Kết quảthực nghiệm bước đầu cho thấy giải pháp đã đề xuất là khả quan và có khả năng ứngdụng tốt
Nội dung của luận văn được trình bày trong 5 chương, bao gồm:
Chương 1 giới thiệu tổng quan về đề tài gồm các khảo sát tìm hiểu thực trạng hiệnnay của các tờ báo điện tử và nhu cầu cần thiết để xây dựng hệ thống hỗ trợ cho việc tìmkiếm thông tin trên internet, tìm hiểu các hệ thống thu thập và tìm kiếm thông tin, pháthiện tin bài trùng lắp cũng như các kỹ thuật liên quan trong nước và quốc tế Cuối cùngtrình bày mục tiêu của luận văn
Chương 2 trình bày cơ sở lý thuyết của đề tài liên quan tới các phương pháp thuthập thông tin, mô hình ontology CK_ONTO, mô hình tổng quát cho một trang báo điện
tử, cuối cùng giới thiệu một số phương pháp rút trích keyphrase, phương pháp biểu diễntài liệu và phương pháp tính khoảng cách ngữ nghĩa giữa các khái niệm
Trang 14các vấn đề liên quan để xây dựng hệ thống bao gồm: thu thập tin bài, rút trích tự độngkeyphrase, tìm kiếm theo ngữ nghĩa các tin bài báo điện tử, tìm kiếm tin bài theo chủ đề,bài toán điểm tin Đi cùng với các vấn đề là các phương pháp tiếp cận để giải quyết vàcác thuật giải tương ứng Các phương pháp và thuật giải này là cơ sở để xây dựng cácđộng cơ suy diễn và tìm kiếm trong hệ thống hỗ trợ tìm kiếm ngữ nghĩa cho báo điện tử.
Chương 4 là phần cài đặt xây dựng hệ thống hỗ trợ tìm kiếm tin bài báo điện tử
Hệ thống hỗ trợ việc thu thập và lưu trữ các tin bài thuộc các trang báo điện tử cần quantâm, quản lý cấu trúc thông tin của các trang báo này, hỗ trợ người dùng tìm kiếm theo từkhóa và tìm kiếm theo nội dung tin bài, tìm kiếm tin bài theo các chủ đề quan tâm vàtrích xuất báo cáo điểm tin Tiến hành phân tích các yêu cầu và chức năng của hệ thống,thiết kế các thành phần xử lý và đưa ra một số kết quả thử nghiệm
Chương 5 là kết luận và hướng phát triển Tổng kết những kết quả đạt được, tómtắt lại các vấn đề đã đặt ra trong luận văn và cách giải quyết, những đóng góp mới vànhững đề xuất về một số hướng phát triển của đề tài trong tương lai
Trang 15CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI
Chương 1 trước tiên tìm hiểu thực trạng hiện nay của các tờ báo điện tử và nhucầu cần thiết để xây dựng hệ thống hỗ trợ cho việc tìm kiếm thông tin trên internet Từ đótìm hiểu các hệ thống thu thập, tìm kiếm thông tin và phát hiện tin bài trùng lắp cũng nhưcác kỹ thuật liên quan trong nước và quốc tế Cuối cùng trình bày mục tiêu của luận văn
1.1 Thực trạng và nhu cầu xây dựng hệ hỗ trợ thu thập, tìm kiếm thông tin
Trước đây, người đọc báo thường mua các tờ báo in (báo giấy) để nắm bắt thôngtin trong nước và quốc tế Tuy nhiên, khi công nghệ số ra đời, đặc biệt là sự ra đời củainternet đã xuất hiện nhiều loại hình báo chí mới, trong đó có báo điện tử Sự phát triểnnhanh chóng của báo điện tử với phương thức đưa tin, truyền tin kiểu mới đã thu hút mộtlượng lớn độc giả Với lợi thế không thể phủ nhận là việc cập nhật tin tức nhanh, mangtính thời sự cao, thông tin đa chiều và sự linh động, báo điện tử đáp ứng đầy đủ nhữngtiêu chí mà độc giả hiện đại cần
Với những lợi thế của báo điện tử, hàng trăm các trang báo điện tử ở Việt Nam đã
ra đời Sự bùng nổ của báo điện tử đem đến cho độc giả kho tin tức khổng lồ, được cậpnhật liên tục từng phút, thậm chí từng giây Với lượng thông tin khổng lồ như vậy, các cơquan chức năng, các nhà quản lý có liên quan tới thể loại báo điện tử trở nên khó khăntrong việc kiểm soát nội dung, kiểm tra tính đúng đắn của các trang báo Còn đối với độcgiả, họ thường đọc thông tin trên một số tờ báo điện tử phổ biến và có thể bỏ qua rấtnhiều thông tin mới ở những trang báo chưa biết Hay khi các cá nhân hoặc một tổ chứcnào đó cần tổng hợp tin từ một lĩnh vực cụ thể, thống kê định kỳ các tin bài liên quan tớimột vấn đề, sự kiện quan tâm nào đó, họ thường loay hoay với một mớ hỗn độn tin bàikhông thể kiểm soát; đặc biệt hơn các công việc ấy đòi hỏi tốn rất nhiều công sức và thờigian bởi nó chủ yếu được làm thủ công bởi con người nhưng có thể mang lại kết quảkhông như mong đợi
Trang 16Trước những khó khăn của sự bùng nổ báo mạng như trên, nhu cầu tất yếu của các
cơ quan chức năng, các tổ chức, cá nhân là cần có một hệ thống có khả năng giải quyếtnhững vấn đề liên quan tới họ một cách dễ dàng và nhanh chóng Hệ thống này phải cókhả năng thu thập các tin bài từ nhiều trang báo điện tử khác nhau, quản lý được các tinbài, cho phép thống kê theo những tiêu chí liên quan, tìm kiếm các tin bài theo những tiêuchí cho trước, xử lý được nội dung liên quan tới một lĩnh vực hay chủ đề… Vì vậy, nhucầu để xây dựng một hệ thống hỗ trợ cho việc tìm kiếm thông tin là thật sự quan trọng và
có ý nghĩa
1.2 Vấn đề thu thập thông tin
Đã có rất nhiều hệ thống thu thập, tổng hợp tin tức đã ra đời Ở Việt Nam,
NewsFinder và Báo Mới là 2 hệ thống tổng hợp tin khá nổi tiếng NewsFinder là phần mềm tìm kiếm tin tự động trên internet Phần mềm có các khả năng
HueCIT-sau: tải tin thủ công hoặc tự động theo lịch lập sẵn, xem tin đã tải về, lưu trữ tin định kỳhoặc theo nhu cầu giúp giảm thiểu khối lượng xử lý, chuyển tin sang các trang thông tin
điện tử khác, tìm kiếm tin theo từ khóa và một số tiêu chí liên quan Báo Mới là một
website tổng hợp thông tin tiếng Việt được điểu khiển tự động bởi máy tính Hằng ngàycác tin tức từ các trang báo điện tử được tự động tổng hợp, phân loại nội dung vào cácchuyên mục thích hợp, phát hiện các tin bài đăng lại, nhóm các tin bài liên quan về cùngmột chủ đề, tự động bóc tách từ khóa giúp người đọc dễ dàng tìm kiếm các thông tin liênquan đa chiều, đưa ra những gợi ý những bài viết mà độc giả có thể quan tâm
Trên thế giới có khá nhiều trang web tổng hợp tin nổi tiếng như: Google News,
News 360, Fark, Pulse, Feedly… Google News là một trang web tin tức thu thập các tiêu
đề từ hơn 50.000 nguồn tin tức trên toàn thế giới, nhóm các thông tin tương tự lại vớinhau và hiển thị chúng theo sở thích của mỗi người đọc Theo truyền thống, khi đọc tintức, công việc trước tiên là chọn một ấn phẩm và sau đó tìm các tiêu đề quan tâm VớiGoogle News, người dùng có thể đọc các bài báo theo một cách khác, với các tùy chọn cánhân và đa dạng hơn để lựa chọn Trên Google News, người dùng sẽ thấy các liên kết đếnnhiều trang báo về mọi lĩnh vực, việc làm đầu tiên là quyết định chủ đề quan tâm và sau
đó chọn chủ đề muốn đọc News 360 sẵn có trên ứng dụng web hay các thiết bị di động,
Trang 17là một trong những ứng dụng đầu tiên khám phá tin tức trên mạng xã hội như Facebook,Twitter, tìm hiểu nhiều hơn về người dùng và những chủ đề mà họ quan tâm, từ đó phânphối thông tin đến người dùng theo sở thích Nó phân tích hành vi và hoạt động củangười dùng trên phương tiện xã hội, sử dụng phân tích ngữ nghĩa và xử lý ngôn ngữ tự
nhiên để tạo ra một biểu đồ, từ đó phân phối những nội dung liên quan Fark, Pulse,
Feedly cũng là những ứng dụng tổng hợp tin được khá nhiều người dùng trên thế giới ưa
thích Chúng đảm bảo những tin tức tốt nhất trong ngày sẽ đến được với người dùng.Người dùng vẫn có thể thêm vào những chủ đề và các trang web ưa thích, kiểm soát đượcnguồn tin và những chủ đề muốn đọc
Để xây dựng những hệ thống tổng hợp tin tức, việc cần làm trước tiên là thu thậpđược những trang tin từ nhiều nguồn thu thập khác nhau Có 2 phương pháp thu thập phổbiến là Crawler và RSS Trong [9], [16], tác giả có giới thiệu về cách thức hoạt động của
một Crawler Crawler là kỹ thuật dùng để tải và lưu trữ những trang web Crawler duyệt
toàn bộ World Wide Web một cách có hệ thống nhằm mục đích thu thập dữ liệu, tri thứchoặc với mục đích đánh dấu chỉ mục trang web Một crawler bắt đầu bằng việc đặt mộttập hợp những đường dẫn URL (Uniform Resource Locator) trong hàng đợi, sau đó lấynhững đường dẫn URL theo thứ tự ưu tiên, tải trang web với đường dẫn URL tương ứng,rút trích bất kỳ URL trong trang web này, và cuối cùng đặt những URL mới vào tronghàng đợi Toàn bộ quá trình này sẽ được tiếp tục Cuối cùng những trang web thu thập
được sử dụng cho việc tổng hợp hay tìm kiếm sau này RSS (Really Simple Syndication)
là một tệp tin XML được các website sử dụng cung cấp thông tin cho các tin bài trongtrang web đó trên internet Công nghệ RSS cho phép người dùng Internet có thể đặt muathông tin từ các website có cung cấp RSS (RSS feeds); chúng thường là các website cónội dung thay đổi và được cập nhật thường xuyên Những chương trình nổi tiếng nhưRSS Reader hay RSS Aggregator vừa quản lý thông tin đăng ký, vừa cho tải các tin bài.Tuy nhiên, không phải tất cả những tin bài nhận được là phù hợp với người dùng, vì vậycần có những cơ chế thích hợp để người dùng có thể nhận được những thông tin quantâm Trong [18] có đề cập về việc tăng cường khả năng tổng hợp tin dùng RSS dựa trênOntology Dùng ontology, việc tổng hợp thông tin sẽ chính xác và đầy đủ hơn [8] giới
Trang 18thiệu một phương pháp tổng hợp tin RSS dựa trên thuật toán gom cụm Với kỹ thuật này,những trang thông tin liên quan nhau sẽ được gom cụm theo các chủ đề giúp người dùng
dễ dàng tìm kiếm những chủ đề mà họ quan tâm Các kỹ thuật này thật sự hữu ích choviệc thực hiện thu thập tin bài trên các báo mạng
1.3 Vấn đề tìm kiếm thông tin theo ngữ nghĩa
Internet chứa hầu như tất cả những thông tin liên quan tới mọi lĩnh vực, mọi ngõngách trong cuộc sống Nhưng nó rất rộng, rộng đến mức gần như không ai có thể kiểmsoát được Diện mạo của Internet lại thay đổi quá nhanh chóng và mạnh mẽ
Có thể ví Internet như một biển dữ liệu khổng lồ, với muôn vàn những viên ngọc quýnằm giữa các hạt sạn Trong đời sống hằng ngày, nhu cầu tìm kiếm thông tin đóng vai trò
vô cùng to lớn, và một trong những vấn đề bức thiết nhất của công nghệ hiện nay là làmsao "đãi cát tìm vàng", khai thác nguồn tài nguyên này một cách hợp lý, đem lại lợi íchtốt nhất cho con người Ngày nay, hầu hết mọi người đều sử dụng các bộ máy tìm kiếm
để tìm kiếm thông tin trên mạng Internet
Trên thị trường hiện nay các công cụ tìm kiếm thông tin trên máy tính đã trở nênđông đảo và gia tăng không ngừng Thời gian gần đây, chúng ta nghe nhiều về “cuộcchiến các bộ máy tìm kiếm trên Internet” với sự cạnh tranh giữa các hãng công nghệ hàngđầu trên thế giới, đó là sự canh tranh giữa Google (google.com), Yahoo (yahoo.com),Bing (bing.com), MSN (msn.com), Ask (ask.com), AOL (aol.com), Lycos (lycos.com),Alta Vista (altavista.com) Các bộ máy tìm kiếm này rất nổi tiếng trên toàn thế giới vớingôn ngữ được hỗ trợ chính là tiếng Anh nhưng cũng đã hỗ trợ cho các ngôn ngữ khác.Với tham vọng là xây dựng các bộ máy tìm kiếm tận dụng những lợi thế địa phương củaquốc gia về ngôn ngữ và văn hóa, các quốc gia cũng xây dựng các bộ máy tìm kiếm riêngcho mình như Baidu (baidu.com) của Trung Quốc hay Heeya (heeya.com) của Hàn Quốc
là những ví dụ thành công của các động cơ tìm kiếm địa phương Ở Việt Nam, các bộmáy tìm kiếm như CocCoc (coccoc.com), Xalo (xalo.vn), Timnhanh (timnhanh.com),VinaSeek (vinaseek.net) cũng đang có những đầu tư rất lớn để phục vụ cho việc tìm kiếmnhững trang Web tiếng Việt Ở đây chỉ xin nhấn mạnh bộ máy tìm kiếm CocCoc, mộttrong những bộ máy tìm kiếm Tiếng Việt đang rất nổi tiếng ở Việt Nam Mục tiêu của
Trang 19CocCoc là muốn xây dựng một công cụ tìm kiếm có thể hiểu và xử lý tiếng Việt tốt hơnbất cứ một công cụ tìm kiếm nào khác Tiếng Việt là một ngôn ngữ hết sức tinh tế nếukhông muốn nói là cực kỳ khó về mặt ngữ pháp và từ vựng Để phát triển công cụ tìmkiếm cần phải có những nghiên cứu đặc biệt để “dạy” cho máy tính “hiểu” và xử lý tiếngViệt Ngữ pháp, từ vựng tiếng Việt còn phức tạp với cả người, đừng nói là với máytính.Ví dụ, đối với từ vựng, tiếng Việt dùng bảng chữ cái Latin nhưng lại có nhiều dấukhác nhau “Hoa mi” khác với “hoạ” và “mi” “Man” khác với “màn”, “mán”,
“mản”,”mãn”, “mạn”; và tất cả những cái này hiển nhiên lại khác với “măn”, “mằn,
“mắn”, “mặn”, “mân”, “mần”, “mấn”, “mẩn”, … Sai một dấu là đi một dặm Và CocCocquyết tâm giải quyết được các vấn đề này của ngôn ngữ Tiếng Việt và đạt được một sốthành công ban đầu
Các bộ máy tìm kiếm đã mang lại rất nhiều tiện lợi cho người dùng khi tìm kiếmthông tin Tuy nhiên, bất kỳ một bộ máy tìm kiếm nào cũng tồn tại những hạn chế của nó.Khi thảo luận những vấn đề liên quan tới tìm kiếm, Google là nơi thường nói đến Khôngphải vì Google là bộ máy tìm kiếm tệ nhất mà bởi vì Google là bộ máy tìm kiếm tốt nhấthiện nay Những vấn đề của Google và thuật toán PageRank được đề cập ở [7, 20] vẫnchưa được chinh phục, và những bộ máy tìm kiếm khác cũng đối mặt với những vấn đềtương tự Ở đây xin bàn về một số hạn chế của Google như sau:
- Sự nhọc nhằn về ngữ nghĩa dẫn tới sự thiên lệch trong kết quả tìm kiếm Khi tìm
kiếm những thông tin về apple, hầu hết các kết quả tìm kiếm là những thông tin liên quan
tới tập đoàn apple (1 tập đoàn công nghệ nổi tiếng của Mỹ, được biết đến nhiều với cácsản phẩm về máy tính Mac, máy nghe nhạc Ipod, điện thoại Iphone) Những kết quả nàythật sự hữu dụng nếu người dùng muốn tìm kiếm các sản phẩm của hãng công nghệ này
Nhưng nếu họ muốn các thông tin về loại trái cây tên là apple, kết quả chưa thật sự như
Trang 20hàng vì thuật toán PageRank của Google tưởng rằng những trang với nhiều link trỏ tới làquan trọng Sự thiên lệch cũng xảy ra khi một chủ đề cụ thể được thảo luận bởi nhiềungười trên blog hoặc forum Những thảo luận này có xu hướng đưa những chủ đề đó lênđầu của danh sách kết quả tìm kiếm thay vì những trang thực sự chứa thông tin mô tả chủ
đề Kết quả người dùng nhận được là những trang với những thảo luận về một chủ đề chứkhông phải những trang định nghĩa chủ đề này
Các hệ thống tìm kiếm thông tin hiện nay phần lớn vẫn dựa trên từ khóa và mức
độ phổ biến của tài liệu Một danh sách các từ khóa là dạng biểu diễn sơ lược nhất củanội dung và cách biểu diễn này mang mức độ thông tin thấp Vấn đề khó khăn đối vớingười sử dụng là ở khả năng mô tả nhu cầu thông tin bằng một số từ khóa biểu diễn vàchuyển nhu cầu này thành dạng thức truy vấn phù hợp với hệ thống Đặc biệt đối vớingười sử dụng ít kinh nghiệm không thể đặc tả đúng từ khóa cho vấn đề cần tìm kiếm Đóchính là những lý do cơ bản khiến cho các hệ thống tìm kiếm hiện nay có kết quả trả vềkhông phải lúc nào cũng thỏa mãn yêu cầu của người sử dụng, như là độ chính xác khôngcao hay không tìm thấy được những tài liệu liên quan khi chúng được mô tả với những từkhóa khác đồng nghĩa hoặc gần nghĩa với từ khóa mà người dùng cung cấp Từ những
mô hình tìm kiếm đơn giản ban đầu như Boolean, nhiều tác giả đã nỗ lực cải thiện hiệuquả của việc tìm kiếm thông qua các mô hình phức tạp hơn như mô hình không gianvector (Vector Space Model), các mô hình xác suất (Probabilitic Models), mô hình ngônngữ (Language Model) Nhiều nghiên cứu khác nhằm nỗ lực thay đổi cách đánh trọng số,đưa vào xử lý ngôn ngữ tự nhiên, khử nhập nhằng, mở rộng tài liệu, mở rộng câu truy vấn
… cũng góp phần làm tăng hiệu quả tìm kiếm Mặc dù có nhiều cải tiến để cải thiện kếtquả, những hạn chế của việc sử dụng từ khóa vẫn chưa được khắc phục
Hiện nay, trong lĩnh vực Khoa học Máy tính có một sự chuyển hướng dần đếnhướng tri thức hoặc xử lý ngữ nghĩa Theo đó, những hệ thống tìm kiếm dựa trên kháiniệm được nghiên cứu phát triển nhằm thay thế cho những hệ thống truyền thống vốn đãbộc lộ nhiều khuyết điểm lớn Việc tìm kiếm sẽ dựa trên không gian các khái niệm và cácmối quan hệ ngữ nghĩa giữa chúng Những cách tiếp cận theo hướng ngữ nghĩa hay theocấu trúc khái niệm này hướng tới việc mô phỏng một cách tự nhiên cách con người giao
Trang 21tiếp, nghĩa là mô phỏng cấp độ hiểu về ý nghĩa của từ, cụm từ hay văn bản mà ngườidùng cung cấp tương ứng với những gì người dùng nghĩ Trong đó, cách tiếp cận dựa trêncác Ontology được xem là cách tiếp cận hiện đại và phù hợp nhất cho việc thiết kế biểudiễn, xử lý nội dung và ý nghĩa của các tài liệu của con người Bên cạnh đó, nhiều môhình biểu diễn cho tài liệu giàu ngữ nghĩa hơn cũng được đề xuất như mạng ngữ nghĩa,
đồ thị khái niệm CGs, đồ thị hình sao, đồ thị tần số, đồ thị khoảng cách, đồ thị songphương,…được đánh giá có nhiều tiềm năng vì tận dụng được các thông tin quan trọng
về cấu trúc và các mối quan hệ ngữ nghĩa vốn không được xét đến trong các mô hìnhbiểu diễn truyền thống
Như vậy, liên quan tới bài toán tìm kiếm thông tin vẫn còn tồn tại nhiều vấn đề tìm
ẩn cần được giải quyết Tìm lời giải cho bài toán tìm kiếm ngữ nghĩa có ý nghĩa vô cùngquan trọng
1.4 Vấn đề phát hiện sự trùng lắp thông tin
Thông tin trên internet có kích thước vô cùng lớn Sự tràn ngập thông tin làm choviệc truy xuất thông tin đối với người dùng trở nên vô cùng phức tạp Vì vậy, các SearchEngine ra đời đem lại nhiều tiện lợi cho việc tìm kiếm thông tin Tương ứng với câu truyvấn của người dùng, Search Engine sẽ trả về danh sách các kết quả gần với yêu cầu của
họ Để khám phá thông tin, người sử dụng phải duyệt qua một danh sách dài và kiểm tratựa đề, những đoạn trích ngắn một cách tuần tự Điều này làm tiêu tốn khá nhiều thờigian của người dùng khi có rất nhiều thông tin trùng lắp Vì vậy, việc phát hiện sự trùnglắp thông tin hiệu quả là rất quan trọng, đặc biệt đối với những ứng dụng có dữ liệu lớn
Phát hiện thông tin trùng lắp được sử dụng khá nhiều trong các ứng dụng vớinhiều lĩnh vực khác nhau:
- Trong những hệ thống quản lý tài liệu: có hàng triệu tài liệu trong những hệthống này và chúng cần được kiểm soát, vì vậy việc nhận dạng những tài liệutrùng lắp là vô cùng cần thiết
- Phát hiện sự ăn cắp ý tưởng: những công nghệ điện tử hiện đại ngày nay có thểsao chép ý tưởng một cách hết sức dễ dàng Để xử lý vấn đề này, cơ chế pháthiện sự trùng lắp cần được sử dụng
Trang 22- Thu thập trang web (web crawling): sự tăng trưởng mạnh mẽ của world wideweb đòi hỏi những bộ thu thập hiện đại phải trở nên hiệu quả hơn, những trangweb trùng lắp sẽ không được thu thập về.
- Trong thư viện kỹ thuật số: những thư viện kỹ thuật số thường lưu trữ mộtlượng lớn các bộ sưu tập xuất bản điện tử, vì vậy cần có những hệ thống giúpphát hiện sự chồng chéo, trùng lắp thông tin
- Làm sạch dữ liệu: trong các hệ thống cơ sở dữ liệu, một bước cần thiết để làmsạch dữ liệu và tích hợp dữ liệu là xác định những dữ liệu trùng lắp
- Trong những hệ thống quản lý email: xác định những thư rác trùng lắp
Đã có rất nhiều nghiên cứu liên quan tới việc phát hiện sự trùng lắp thông tin vànhiều thuật toán đã được đưa ra để nhận dạng sự trùng lắp Một trong những thuật toánđầu tiên được giới thiệu bởi Broder [5] Kỹ thuật này tính toán độ tương tự giữa 2 tài liệu,mỗi tài liệu được chia ra thành những mảnh gọi là shingles Nếu 2 tài liệu chứa cùng tậpshingles thì chúng được xem là tương đương và có thể được cho là gần giống nhau [24]
đề xuất phương pháp chỉ số đảo ngược phân bố để tính toán độ tương tự và nhận dạng dữliệu dư thừa [13] so sánh độ tương tự của từng cặp câu để tìm ra những tài liệu gần giốngnhau SpotSigs đã được đề xuất trong [14] kết hợp những từ đứng trước stopword vớinhững chuỗi ngắn của những thuật ngữ có nội dung liền kề [10] trình bày một phươngpháp phát hiện sự trùng lắp thích nghi, có thể đạt được độ chính xác cao trên các lĩnh vựckhác nhau Một cách tiếp cận khác dựa trên ngữ nghĩa cũng được sử dùng để phát hiện tinbài gần giống nhau [6] giới thiệu một phương pháp phát hiện sự ăn cắp ý tưởng dùngtiếp cận tương tự chuỗi dựa trên ngữ nghĩa và [12] cũng đưa ra một số độ đo tương tự dựatrên text mà đặc trưng cho quan hệ giữa những đồ thị web ngữ nghĩa
Bài toán phát hiện sự trùng lắp thông tin đã được nhiều nhà khoa học nghiên cứu
và đã được áp dụng khá rộng rãi trong nhiều ứng dụng khác nhau Nghiên cứu bài toánphát hiện sự trùng lắp của tin bài trong tập dữ liệu web lớn có ý nghĩa rất thực tiễn
1.5 Mục tiêu và giới hạn đề tài
Đề tài tập trung tìm hiểu, nghiên cứu các giải pháp và kỹ thuật đã có của việc thuthập và tìm kiếm tin bài theo ngữ nghĩa cho một lĩnh vực đặc thù, từ đó đưa ra mô hình
Trang 23chung cho hệ thống tìm kiếm tin bài theo ngữ nghĩa trên báo điện tử, nêu ra được các vấn
đề cần giải quyết và các thuật giải liên quan Đề tài tập trung nghiên cứu và giải quyết cácvấn đề sau:
- Tìm hiểu các kỹ thuật giúp cho việc thu thập tin bài
- Nghiên cứu một số mô hình biểu diễn tri thức, trong đó có mô hình Ontology
mô tả tri thức lĩnh vực, cùng với đó là các phương pháp biểu diễn ngữ nghĩaliên quan đến nội dung tin bài
- Nghiên cứu và đề xuất kỹ thuật rút trích các keyphrase một cách hiệu quả
- Đưa ra các vấn đề và thuật toán cho việc tìm kiếm ngữ nghĩa
- Giải quyết bài toán tìm kiếm theo chủ đề
- Liệt kê các tin bài không trùng lắp cho bài toán điểm tin
Trên cơ sở đó, đề tài sẽ xây dựng hệ hỗ trợ thu thập và tìm kiếm thông tin theongữ nghĩa cho lĩnh vực Lao động-Việc làm trên các báo điện tử Hệ thống đáp ứng cácchức năng chính sau:
- Hỗ trợ thu thập và quản lý tin bài: cho phép thu thập tin bài từ các trang báođiện tử và quản lý các tin bài đã thu thập về…
- Hỗ trợ tìm kiếm: tìm kiếm tin bài trong cơ sở dữ liệu đã thu thập về Việc tìmkiếm bao gồm các chức năng: tìm kiếm theo từ khóa, tìm kiếm theo ngữ nghĩa và tìmkiếm theo chủ đề cần quan tâm Tìm kiếm từ khóa sẽ cho kết quả là các tin bài có nộidung trùng với các từ khóa ở câu truy vấn Tìm kiếm ngữ nghĩa sẽ không so trùng mộtcách chính xác những gì người dùng cung cấp mà dựa trên tri thức của một lĩnh vực, từ
đó trả về tập kết quả thích hợp với ý định của người tìm kiếm Tìm kiếm theo chủ đề sẽliệt kê các tin bài có liên quan với chủ đề quan tâm
- Điểm tin: liệt kê các tin tức không trùng lắp tại một thời điểm của tất cả cáctrang báo điện tử có trong hệ thống Các tin tức được nhiều trang báo đăng nhiều nhất sẽ
là những tin chính và nằm ở các vị trí đầu tiên trên trang điểm tin
Trong thế giới internet, có rất nhiều loại website: báo điện tử (E-newspaper), cổngthông tin (Portal), sàn giao dịch (Marketplace), cửa hàng và siêu thị trực tuyến (E-store),mạng xã hội (Social Network), Web Blog… Trong phạm vi của luận văn, đề tài chỉ tập
Trang 24trung vào việc thu thập các trang báo điện tử chính thống (E-newspaper) như: báo “Tuổi
Trẻ Online”, báo “VNEXPRESS”, báo “Dân Trí”…
Việc xây dựng hệ thống hỗ trợ tìm kiếm các tin bài trên báo điện tử theo ngữ nghĩahiện vẫn còn khá mới và các phương pháp xử lý vẫn chưa cho lời giải tối ưu Các phươngpháp và kỹ thuật hiện có thường chỉ hỗ trợ cho một số miền tri thức nhất định trongnhững ứng dụng cụ thể và tỏ ra không hiệu quả trong việc áp dụng giải quyết nhiều dạngbài toán khác nhau Ngoài ra, việc xây dựng một cơ sở tri thức cho một lĩnh vực cũng gặpnhiều khó khăn vì đòi hỏi kiến thức của chuyên gia về lĩnh vực và tốn khá nhiều thời giancông sức Trong bối cảnh đó, luận văn chỉ nghiên cứu xây dựng thử nghiệm một hệ hỗ trợtìm kiếm tin bài về một lĩnh vực, cụ thể là lĩnh vực Lao động-Việc làm Kho dữ liệu tinbài chứa các tin bài có nội dung là ngôn ngữ Tiếng Việt
Trang 25CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
Chương 2 trình bày các phương pháp thu thập thông tin, mô hình ontologyCK_ONTO và mô hình tổng quát cho một trang báo điện tử Tiếp theo là một số phươngpháp rút trích keyphrase và cuối cùng là các phương pháp biểu diễn tài liệu và phươngpháp tính khoảng cách ngữ nghĩa giữa các khái niệm
2.1 Các phương pháp thu thập thông tin
2.1.1 Web Crawler
Web crawler là chương trình khai thác sơ đồ cấu trúc của các website Chức năngchủ yếu của một Web Crawler là lấy dữ liệu và nội dung từ các trang web, sau đó thựchiện tái tổ chức và lưu trữ những dữ liệu đó vào các kho chứa cục bộ Những dữ liệuđược Web Crawler thu thập sau đó sẽ được xử lý để nhằm đáp ứng các mục đích của từngloại ứng dụng cụ thể như hệ thống tìm kiếm thông tin trên Web, hệ thống phân tích chứngkhoán,… Quy trình đơn giản nhất của một Web Crawler là bắt đầu thu thập dữ liệu từmột địa chỉ nguồn, sau đó trích xuất các liên kết ngoài trong trang web để mở rộng truycập vào các trang web tiếp theo Quá trình này tiếp tục với các trang web mới với côngviệc thu thập dữ liệu đồng thời truy cập các liên kết ngoài khác, quy trình được lặp đi lặplại liên tục cho đến khi gặp được một điều kiện dừng thu thập đã được cài đặt trước đó.Tuy nhiên, đằng sau quy trình thu thập được mô tả một cách đơn giản như trên lại là mộtmảng các vấn đề phức tạp có liên quan như việc kết nối mạng, các tiêu chuẩn của mộtURL, việc duyệt các tài liệu HTML và cách thức giao tiếp với các Server Trên thực tế,các thế hệ Web Crawler gần đây có thể coi là một trong những module phức tạp nhấttrong một hệ thống mà nó được kèm theo
Tùy thuộc vào mục đích của hệ thống, các Web Crawler của các hệ thống khácnhau có chiến lược thu thập dữ liệu khác nhau Ví dụ, đối với những hệ thống tìm kiếmthông tin, Web Crawler thường có xu hướng và mục tiêu chính là download tất cả cáctrang web mà nó gặp Ngược lại, các crawler khác lại chỉ chọn một số trang web để tải vàduyệt trong số rất nhiều các trang web nó gặp, gọi là preferential crawler – crawler dựa
Trang 26trên kinh nghiệm, thường được sử dụng trong các hệ thống là kho dữ liệu có chủ điểm, tựđộng hóa các nguồn lực và đáp ứng cho các đại lý phần mềm Các crawler có lựa chọnđược xây dựng theo một chủ đề xác định gọi là các topic crawler hay focused crawler.
Cấu trúc cơ bản của một web crawler
Cấu trúc đơn giản của một chương trình crawler bao gồm một danh sách cácURL gọi là frontier Danh sách này được khởi tạo bởi các URL hạt nhân đã đượccung cấp bởi người dùng hoặc các chương trình khác Mỗi vòng lặp crawling gồm: lấy
ra URL cần được index tiếp theo từ frontier, nạp trang web tương ứng với URL đóbằng giao thức HTTP, duyệt trang web vừa tải về để lấy ra các URL và các thông tin
mà ứng dụng cần, và cuối cùng là thêm các URL chưa được thăm vào frontier Trướckhi các URL được thêm vào frontier chúng sẽ được gán một độ đo thể hiện đánh giáhiệu quả khi thăm trang web tương ứng với URL đó Quá trình crawling có thể kếtthúc khi một số lượng nhất định các trang web đã được tải Nếu chương trình crawler
đã sẵn sàng để duyệt một trang web khác và trạng thái của frontier là rỗng, một tín hiệutrạng thái kết thúc (dead-end) sẽ được gửi cho crawler Chương trình crawler sẽ không
có trang web mới để tải và dừng lại
Extract URLs and add to frontier Store Page
Done?
Stop Yes
No
Hình 2.1: Quy trình xử lý của Crawler.
Trang 27Công việc crawling có thể được xem như một bài toán duyệt đồ thị Toàn bộ thếgiới web được xem như một đồ thị lớn với các đỉnh là các trang web và các liên kết là cáccung (cạnh) Một crawler bắt đầu tại một vài đỉnh và sau đó đi theo các cung để tới cácđỉnh khác Quá trình tải một trang web và trích ra các liên kết bên trong tương tự nhưviệc mở rộng một đỉnh trong bài toán tìm kiếm trên đồ thị Một crawler có chủ điểm cốgắng đi theo các cung được kỳ vọng dẫn tới các vị trí trong đồ thị là hợp lệ với chủ điểmđó.
2.1.2 Really Simple Syndication (RSS)
Sự phát triển của công nghệ đã đưa thông tin lên trực tuyến, thông tin được cậpnhật liên tục từng phút, thậm chí từng giây Điều này khiến người dùng vô cùng khó khăntrong việc theo dõi tin tức Hầu hết mọi người đều quan tâm về tin tức mới nhất, nhữngcập nhật mới nhất của cộng đồng Việc kiểm tra các trang web liên tục để xem có bất cứđiều gì thay đổi là việc làm không khả thi Một trong những giải pháp để kiểm tra thôngtin mới nhất là sử dụng đánh dấu trang Nhưng đây không phải là một giải pháp thíchhợp Đầu tiên, người dùng phải lướt qua các trang web để xem xét sự thay đổi Thứ hai,việc duyệt những trang đã đánh dấu không thể kiểm tra được các thông tin cập nhật, do
đó có thể bỏ lỡ thông tin Thứ ba, có thể phải kiểm tra các trang web nhiều lần ngay cảkhi không có bản cập nhật trong một thời gian dài RSS là giải pháp tốt hơn để giải quyếtvấn đề này
RSS là một định dạng để cập nhật nội dung thay đổi thường xuyên trên internetnhư blog, trang web tin tức… RSS cung cấp thông tin cực kỳ đơn giản Nó cho phépngười dùng tìm kiếm các thông tin quan tâm và đăng ký để được gửi thông tin đến trựctiếp, giải quyết vấn đề về tính cập nhật của thông tin bằng việc cung cấp cho họ nhữngthông tin mới nhất Định dạng của RSS dựa theo chuẩn XML được dùng để chia sẻ vàphát tán nội dung Web Những bước chính để hiện thực RSS như sau:
- Bước 1: các website hoặc blog tạo một RSS Feed
- Bước 2: RSS Feed ở trên một server dưới định dạng XML
- Bước 3: Một bộ đọc gọi là Feed Reader đọc tệp RSS, phân tích và trưng bàykết quả
Trang 28Các trang web phải duy trì một danh sách các thông báo ở dạng chuẩn gọi là RSSFeed Người dùng quan tâm về các thông tin thay đổi có thể kiểm tra danh sách này Cácchương trình như RSS Reader truy cập vào các RSS Feed trên các trang web và trả về tậpkết quả Hình 2.2 là kiến trúc tổng quát của một RSS.
Hình 2.2: Kiến trúc tổng quát của một RSS.
RSS cung cấp những thông tin cơ bản gồm danh sách các mục theo thứ tự từ mớiđến cũ Mỗi mục có thể chứa thông tin tóm tắt hoặc toàn bộ nội dung trong thực tế RSSFeed của một website tin tức có thể như sau:
Description: description1 Description: description2
Như vậy, nhờ công nghệ RSS, thông tin được chia sẻ trở nên đơn giản hơn rấtnhiều RSS giúp cho việc truyền tải thông tin tới người dùng một cách dễ dàng Bên cạnh
đó, RSS còn giúp người dùng tìm kiếm các thông tin quan trọng qua các nguồn RSS,thậm chí từ các website mà họ ít khi hoặc không bao giờ truy nhập Với RSS, các siêuliên kết (hyperlink) trở thành các liên kết thông tin, cho người dùng biết được các thôngtin hữu dụng và cập nhật
Trang 292.2 Mô hình CK_ONTO
Trong [4] và [22], nhóm tác giả đã đề xuất một mô hình ontology CK_ONTO làm
cơ sở cho việc biểu diễn và xử lý ngữ nghĩa về một lĩnh vực đặc biệt là Công nghệ thôngtin Cấu trúc của ontology được thiết kế có tính tổng quát và dễ dàng mở rộng cho nhiềulĩnh vực khác nhau cũng như các loại hình ứng dụng khác nhau Mô hình cho ta một thểhiện tương đối đầy đủ với các cấu trúc tường minh cho một lớp kiến thức tổng quát baogồm 6 thành phần chính:
Một tập hợp RKK các quan hệ giữa các keyphrase
Hàm gán nhãn label phân loại keyphrase
Hiện tại đề tài tập trung xây dựng CK_ONTO cho lĩnh vực Lao động-Việc làmnên tất cả các ví dụ xét trong chương này đều liên quan tới lĩnh vực Lao động-Việc làm
1) Một tập hợp K các keyphrase
Keyphrase là thành phần chính để hình thành các khái niệm của ontology, ngoài rakeyphrase cũng có nghĩa là một đơn vị ngôn ngữ học cấu trúc như một từ, một từ kép,một ngữ
Về mặt cấu trúc thì có 2 loại keyphrase là keyphrase đơn và keyphrase tổ hợp.Keyphrase đơn là những keyphrase chỉ biểu thị cho một khái niệm, được hiểu là nhữngkeyphrase cấu tạo bằng một đơn vị từ vựng đơn là từ hay một đơn vị tương đương từ nhưcụm từ cố định (đơn vị do một số từ hợp lại, tồn tại với tư cách một đơn vị có sẵn như từ,
có thành tố cấu tạo và ngữ nghĩa cũng ổn định như từ) Keyphrase tổ hợp gồm nhiều đơn
Trang 30vị từ vựng đơn kết hợp thành, được xây dựng theo phương thức ghép các keyphrase đơnlại, mà giữa các keyphrase (thành tố cấu tạo) đó có quan hệ về nghĩa với nhau.
Ví dụ: một số keyphrase đơn như: lao động, việc làm, dân số, thất nghiệp, kỹ thuật, nghề nghiệp, lực lượng lao động; một số keyphrase tổ hợp như: “lao động thất
nghiệp”, “trình độ kỹ thuật”, “trình độ chuyên môn”, “lao động và việc làm”, “dân sốhoạt động kinh tế”, “lao động nông thôn”, “lao động thành thị”
Như vậy, gọi K = {k| k là keyphrase thuộc về lĩnh vực đang xét}, K = K1 K2,trong đó K1 là tập các keyphrase đơn và K2 là tập các keyphrase tổ hợp
3) Một tập hợp R KC quan hệ giữa keyphrase và lớp
Ta có tập C , K , một quan hệ hai ngôi giữa K và C là một tập con của
K C , R KC { |r rK C } Trong phạm vi đề tài, ta chỉ xét RKC gồm một quan hệ “thuộc về”giữa keyphrase và lớp (ký hiệu rBL), được định nghĩa là một tập hợp các cặp (k, c) với k
K, c C Ta nói một keyphrase a “thuộc về” lớp A khi và chỉ khi (a, A) rBL
Trang 31Một lớp có thể bao gồm nhiều lớp hoặc được gộp vào lớp khác hình thành mốiquan hệ phân cấp giữa lớp cha và lớp con Lớp con là một lớp thông thường nhưng cóthêm tính chất kế thừa một phần hay toàn bộ các đặc tính của một lớp khác Lớp chia sẻ
sự kế thừa gọi là lớp cha Ví dụ: “ĐÀO TẠO NGHỀ” và “XUẤT KHẨU LAO ĐỘNG”
là các lớp con của lớp “GIẢI QUYẾT VIỆC LÀM”
Quan hệ “có liên quan” giữa các lớp rRE
Theo cách thức xây dựng lớp như trên thì một keyphrase có thể thuộc nhiều lớpkhác nhau hay một lớp con được cho phép có một số lượng lớp cha bất kỳ dẫn đến việcxuất hiện một loại quan hệ trên lớp mà theo đó các lớp được gọi là “có liên quan vớinhau” nhưng không hình thành quan hệ phân cấp theo nghĩa bao hàm chứa trong Các lớpnày có một số đặc điểm chung, ít nhiều liên quan với nhau bởi vì chúng có nhữngkeyphrase hay lớp con tương tự Ví dụ: lớp “GIẢI QUYẾT VIỆC LÀM” có liên quan vớilớp “NGHỀ NGHIỆP”, lớp “GIẢI QUYẾT VIỆC LÀM” có liên quan tới lớp “VIỆCLÀM”
5) Một tập hợp R KK các quan hệ giữa các keyphrase
Ta có tập K , một quan hệ 2 ngôi trên K là một tập con của K K , nghĩa làmột tập hợp các cặp keyphrase thuộc K và RKK = {r | rK K } Tùy thuộc vào miền trithức, ta có nhiều quan hệ về ngữ nghĩa khác nhau trên keyphrase Nhìn chung, các quan
hệ này có thể được chia thành 3 nhóm chính: nhóm quan hệ tương đương, nhóm quan hệ
phân cấp, nhóm quan hệ không phân cấp Cho 2 phần tử x và y thuộc K, ta nói x có quan
hệ ri với y khi và chỉ khi (x,y) ri, và viết là x ri y, ngược lại y có quan hệ ri-1 so với x
Nhóm quan hệ tương đương: liên kết các keyphrase tương đồng về nghĩa
Quan hệ đồng nghĩa r1, quan hệ viết tắt r2
Ta nói keyphrase a có quan hệ đồng nghĩa (r1) hoặc quan hệ viết tắt (r2) vớikeyphrase b nếu trong một ngữ cảnh nào đó chúng có cùng nghĩa với nhau và thay thếđược cho nhau (a là dạng viết tắt của b trong trường hợp quan hệ r2) Ví dụ: Lực lượng
lao động đồng nghĩa với Dân số hoạt động kinh tế, Lao động thất nghiệp đồng nghĩa với Người thất nghiệp.
Quan hệ gần nghĩa r3
Trang 32Ta nói keyphrase a có quan hệ gần nghĩa (r3 ) với keyphrase b nếu trong một ngữcảnh nào đó chúng có nghĩa gần nhau (ít nhiều giống nhau, song không đồng nhất về
nghĩa) và có thể thay thế cho nhau Ví dụ: đào tạo nghề gần nghĩa với dạy nghề.
Nhóm quan hệ phân cấp: thể hiện phạm vi ngữ nghĩa giữa các keyphrase
(nghĩa rộng, nghĩa hẹp)
Quan hệ A-Part-Of r4
Quan hệ giữa bộ phận và toàn thể, mang ý nghĩa bao hàm, chứa trong Mộtkeyphrase a được gọi là có quan hệ A-Part-Of (r4 ) với keyphrase b khi có thể nói “một b
có một a” hoặc “một a là một phần của b” Ví dụ: xuất khẩu lao động “is a part of” giải
quyết việc làm, dân số trẻ “is a part of” dân số.
nhà nước “is a kind of” loại hình kinh tế, công nhân “is a kind of” loại nghề nghiệp.
Nhóm quan hệ không phân cấp: liên kết các keyphrase có liên hệ ngữ nghĩa
với nhau nhưng không hình thành cây phân cấp hay tương đương ngữ nghĩa
Quan hệ cùng lớp r6:
Ta nói keyphrase a có quan hệ cùng lớp (r6) với keyphrase b nếu có một lớp Ci saocho a Ci và b Ci Ví dụ: Sinh viên, Giáo viên, Công nhân cùng lớp LOẠI NGHỀ NGHIỆP; Nông nghiệp, Công nghiệp, Lâm nghiệp, Ngư nghiệp cùng lớp KHU VỰC
KINH TẾ
Trang 33 Các quan hệ có liên quan khác:
Các quan hệ trên chỉ mới phản ánh được một vài liên kết ngữ nghĩa của nhữngkeyphrase thuộc cùng một chủ đề (có thể là một chủ đề rộng và phức tạp), do đó vẫnchưa đủ để biểu diễn cho nhiều mối quan hệ đa dạng khác trên nhiều chủ đề khác nhau
Ví dụ: để biểu diễn nội dung “trình độ học vấn là nguyên nhân dẫn tới thất nghiệp” nếuchỉ dùng các quan hệ kể trên thì rất khó diễn đạt do các quan hệ này không phản ánh
được liên kết ngữ nghĩa giữa trình độ học vấn và thất nghiệp Câu văn này không phải đề cấp đến trình độ học vấn “và” thất nghiệp (hai chủ đề độc lập) mà là về một vấn đề trình
độ học vấn “là nguyên nhân” thất nghiệp Khi đó, hai keyphrase có liên quan với nhau về
nghĩa theo quan hệ “Cause” và việc sử dụng quan hệ này sẽ cho phép biểu diễn chủ đềcủa câu văn một cách linh hoạt, rõ ràng, và chính xác hơn
Như vậy, ngoài các quan hệ kể trên, các keyphrase còn có thể được liên kết vớinhau thông qua các quan hệ: Cause, Influence
6) Hàm gán nhãn phân loại keyphrase
Nền tảng của biểu diễn ngữ nghĩa là hệ thống các keyphrase Theo cách tiếp cậntrong đề tài, một keyphrase có thể chỉ đến một thuật ngữ thông thường hay một lớp khitên keyphrase trùng lớp tên lớp mà keyphrase thuộc về Như vậy, ngữ nghĩa củakeyphrase xét ở một gốc độ nào đó sẽ có liên quan đến cấp độ của nó về nội dung Sựphân cấp này dựa trên sự phân cấp đi từ các phạm vi rộng như ngành, chuyên ngành đếncác phạm vị hẹp hơn như môn học, nhóm chuyên đề, chủ đề con trong lĩnh vực hìnhthành các cấp độ của keyphrase như cấp ngành, cấp chuyên ngành, cấp chuyên đề… Để
mô tả thông tin về một keyphrase biểu thị cho một lớp và cấp độ của nó về nội dung, ta
sử dụng một hàm gán nhãn ngữ nghĩa cho keyphrase như sau:
Cho Labels là tập các nhãn phân loại
Labels = {“Ngành”, “Chuyên ngành”, “Môn học”, “Chuyên đề”, “Chủ đề”, “Thuậtngữ chuyên môn”, …}
Hàm label: K P(Labels), trong đó mặc định mỗi keyphrase là một “Thuật ngữ
chuyên môn”
Trang 342.3 Mô hình Newspaper Model
Trong [17] đã giới thiệu mô hình tổng quát cho một trang báo điện tử, mô hình nàygiúp ta có cái nhìn tổng thể về cấu trúc của các trang báo điện tử, giúp cho việc quản lý
và thu thập tin bài từ trang báo điện tử một cách linh hoạt và tự động
2.3.1 Một số khái niệm cơ sở
Một HTML Element là một đối tượng đặc biệt đại diện cho một node trong DOMTree (Document Object Model Tree) tương ứng với HTML Document của webpage, và
có các thuộc tính sau:
- Type: loại của HTML Element
- Address: địa chỉ của HTML Element trong HTML Document
Định nghĩa trên nhấn mạnh rằng HTML Element sẽ không có ý nghĩa khi khôngđược áp dụng và đặt trong một tài liệu HTML cụ thể tương ứng với webpage Các HTMLElement được đặc trưng bởi chức năng của chúng trong cấu trúc thông tin của Webpage,được đánh giá thông qua nội dung mà HTML Element đó chứa bên trong (ElementContent) và được xác định, ghi nhận thông qua thuộc tính Type Ví dụ: HTML Elementchứa tiêu đề bài báo, HTML Element chứa tác giả bài báo, HTML Element chứa thờigian đăng tải bài báo,…
Thuộc tính Address của HTML Element cho phép nhanh chóng xác định vị trí của
nó trong tài liệu HTML tương ứng với Web Page Giá trị của thuộc tính này có thể đượcbiểu diễn bằng Xpath, chi tiết về cú pháp của cách biểu diễn này có thể tham khảo ở [21]
Ví dụ: xét một trang web đơn giản như sau:
Trang 35Trang web trên có các thẻ:
- HE-List: HTML Element chứa danh sác địa chỉ các bài báo HTML Element
loại này có thêm thuộc tính Priority (1 ≤ Priority ≤ 5) thể hiện mức độ quan trọng củanhững tin bài mà nó chứa bên trong
- HE-Pagination: HTML Element chứa chức năng phân trang, chuyển trang của
Webpage
- HE-Title: HTML Element chứa tiêu đề.
- HE-ReleasedDate: HTML Element chứa thời gian đăng tải bài báo.
Type = “HE-Type1”
Address = “/html/body/div[2]/p[id=‘main’]”
Trang 36- HE-Abstract: HTML Element chứa tóm tắt bài báo.
- HE-Author: HTML Element chứa tên tác giả bài báo.
- HE-Tags: HTML Element chứa các tags liên quan đến nội dung bài báo.
- HE-RelArticles: HTML Element chứa danh sách các tin bài liên quan.
- HE-Content: HTML Element chứa nội dung chi tiết bài báo.
2.3.2 Mô hình một trang báo điện tử
Việc mô hình hóa cấu trúc trang báo điện tử làm cơ sở cho hoạt động thu thập tintức tự động Các trang báo điện tử khác nhau được phát triển độc lập nhau, do đó có cấutrúc khác nhau Cấu trúc trang báo điện tử được giới thiệu sau đây dựa trên cả việc phântích cấu trúc website và cấu trúc thông tin phổ biến của chúng, nhằm phục vụ tốt hơn choviệc quản lí và thu thập tin tức Một trang báo điện tử e được mô hình hóa bao gồm 7thành phần sau:
(Attr, H, F, A, F Str , A Str , Rels)
Trong đó, các thành phần được mô tả như sau:
- Attr là tập các thuộc tính trên trang báo điện tử.
- H là homepage, được trả về khi truy cập e bằng địa chỉ URL của nó.
- F là tập các webpage biểu diễn các trang lĩnh vực, chủ đề thuộc về trang báo
điện tử
- A là tập các các tin bài đã thu thập được thuộc về trang báo điện tử.
- FStr là tập các kiểu cấu trúc của các trang lĩnh vực thuộc trang báo điện tử.
- AStr là tập các kiểu cấu trúc của các trang bài viết thuộc trang báo điện tử.
- Rels là tập các quan hệ nội tại trong trang báo điện tử.
Tập các thuộc tính của trang báo điện tử Attr
Một trang báo điện tử có các thuộc tính phục vụ cho việc quản lí, bao gồm:
- Name: Tên trang báo điện tử Ví dụ: Dân trí, Tuổi trẻ Online, Thanh niên, …
- URL: Địa chỉ URL dùng truy cập tới trang báo điện tử Ví dụ:
http://dantri.com.vn/, http://tuoitre.vn/, http://www.thanhnien.com.vn/, …
- Collecting: true/false, thuộc tính xác định trang báo điện tử đang được chọn để
thu thập tin tức hay không
Trang 37 Trang chủ H
Webpage Trang chủ (Homepage) H là webpage mặc định được trả về khi truy cậpvào địa chỉ URL của trang báo điện tử, chứa các tin bài mới, nổi bật của trang báo điện tử
ở thời điểm hiện tại H chỉ được sử dụng để đánh giá mức độ quan trọng của các tin bài
và có cấu trúc thông tin bao gồm một tập các HTML Element loại HE-List chứa danhsách tin bài nổi bật từ tất cả các trang lĩnh vực f trong F
Tập các webpage lĩnh vực F
Mỗi f ∈ F là đại diện cho webpage đăng tải các tin bài thuộc một miền tri thức haylĩnh vực xác định Sự phân loại các tin bài phụ thuộc vào quan điểm của bản thân trangbáo điện tử Mỗi f có các thuộc tính sau:
- Name: tên lĩnh vực (vd: Xã hội, giáo dục, thể thao, thế giới,…)
- URL: địa chỉ URL của trang lĩnh vực
- Collecting: true/false, xác định trang lĩnh vực có đang được chọn để thu thập
tin tức hay không
Tập các tin bài đã thu thập được A
Mỗi tin bài a ∈ A là một thực thể của bài báo được đăng tải trên trang báo điện tử
và có các thuộc tính sau:
- URL: Địa chỉ URL của webpage đăng tải nội dung chi tiết bài báo
- Title: Tiêu đề bài báo
- Abstract: Phần tóm tắt nội dung bài báo
- ReleasedDate: Thời gian bài báo được đăng tải
- CollectedDate: Thời gian bài báo được thu thập bởi hệ thống
- Author: Tên tác giả bài báo
- Tags: Các tags liên quan đế nội dung bài báo do bản thân trang báo điện tửcung cấp
- Content: Nội dung chi tiết của bài báo
- SemanticRepresentation: Biểu diễn ngữ nghĩa của tin bài
Trang 38 Tập các kiểu cấu trúc của các trang lĩnh vực F Str
Mỗi f Str ∈ F Str là một kiểu cấu trúc thông tin cho một hoặc một số trang lĩnh vực
f ∈ F, gồm tập các HTML Element như sau:
- Nhóm các HTML Element loại HE-List chứa danh sách các tin bài được đăngtải thuộc về trang lĩnh vực
- HTML Element loại HE-Pagination chứa chức năng chuyển trang, phân trangcho trang lĩnh vực f
Tập các kiểu cấu trúc cảu các trang bài viết A Str
Mỗi aStr∈AStr là một kiểu cấu trúc thông tin cho một số webpage chứa nội dungđăng tải trang bài viết, gồm tập các HTML Element như sau:
- HTML Element loại HE-Title
- HTML Element loại HE-Abstract
- HTML Element loại HE-ReleasedDate
- HTML Element loại HE-Author
- HTML Element loại HE-Tags
- HTML Element loại HE-Content
- HTML Element loại HE-RelArticles
- HTML Element loại HE-Pagination
Tập các quan hệ nội tại Rels
Rels bao gồm các quan hệ hai ngôi giữa các thành phần nội tại trong cùng mộttrang báo điện tử, bao gồm:
- Quan hệ phân cấp “là trang lĩnh vực con” rHYP trên F; nghĩa là r HYP ⊆ F × F: mỗitrang lĩnh vực f ∈ F đại diện cho một miền tri thức với mức độ tổng quát khác nhau Theo
đó, một trang lĩnh vực có thể bao hàm, chứa một số lĩnh vực con khác và tạo thành quan
hệ phân cấp Quan hệ phân cấp tạo thành một cây phân cấp trên F và có các tính chất:phản xứng, bắt cầu
Trang 39- Quan hệ “thuộc về” rBL giữa 2 tập tin bài A và tập trang lĩnh vực F, r BL ⊆ A × F:một tin bài có thể thuộc về nhiều trang lĩnh vực khác nhau tùy thuộc vào quan điểm phânloại nội dung của chủ quản trang báo điện tử.
- Quan hệ mờ “có liên quan” giữa các bài báo rRE: A × A →[0,1], nói cách khác
rℜ={((a1, a2), w)∨(a1,a2)∈ r AA , w ∈[0,1]} Giả sử ((a1, a2), w) ∈r REL, ta nói tin bài a1 có liên
quan đến tin bài a2 với trọng số w, nếu w = 1, ta nói rằng tin bài a1 trùng với tin bài a2
- Quan hệ “có kiểu cấu trúc” rStr giữa 2 tập F và FStr , r Str ⊆ F × F Str Mỗi f ∈ F cómột cấu trúc thông tin riêng biệt, được xác định thông qua một phần tử của tập FStr Ta có
∀ f ∈ F ,∃ !f Str ∈ F Str :(f , f Str)∈ rStr
2.4 Một số phương pháp rút trích keyphrase đặc trưng ngữ nghĩa
Có 3 hướng nghiên cứu chính về rút trích keyphrase đặc trưng ngữ nghĩa(KĐTNN):
- Hướng tiếp cận sử dụng từ điển (Dictionary approach): sử dụng 1 từ điển
được xây dựng bằng phương pháp thủ công để rút trích các KĐTNN Quá trình rút tríchcác KĐTNN được thực hiện bằng các phương pháp so trùng các KĐTNN trong từ điểnvới các cụm từ trong tài liệu Thuận lợi của hướng tiếp cận này là nhanh và đơn giản, tuynhiên hiệu suất lại phụ thuộc vào độ lớn của từ điển và không hiệu quả khi giải quyết bàitoán nhận dạng danh từ riêng hay các thuật ngữ mới trong những phạm vi chuyên biệt
- Hướng tiếp cận ngôn ngữ học (Linguistic approach): dùng cơ sở tri thức ngữ
nghĩa từ vựng (như WordNet, Wikipedia…), dùng phương pháp đánh giá theo kinhnghiệm, hay phương pháp luật để rút trích các cụm từ Hướng tiếp cận này có thể đạtđược độ chính xác cao, tuy nhiên còn phụ thuộc vào việc thiết kế từng hệ thống cụ thể.Khó khăn chính là việc xây dựng một cơ sở tri thức cho những miền chuyên biệt có phạm
vi lớn, việc này đòi hỏi rất nhiều thời gian và công sức
- Hướng tiếp cận bằng phương pháp thống kê (Statistical approach): đây là
quá trình học các giá trị đã được thống kê từ một kho ngữ liệu lớn để rút trích các cụm từ
và nó liên quan mật thiết với hướng tiếp cận n – gram (n có giá trị2, 3, 4) Mặc dù có giatăng về mặt tính toán, kỹ thuật này không đòi hỏi nhiều công sức để tạo ra từ điển hay cơ
sở tri thức mà còn có khả năng lấy được các thuật ngữ có trọng số cao trong kho ngữ liệu
Trang 40Tuy nhiên, hạn chế của phương pháp này là có thể không rút trích được các keyphraseđặc trưng có tần số thấp.
Phương pháp rút trích KĐTNN thông thường gồm 2 công đoạn: tuyển chọn cáccụm từ dự tuyển và chọn lọc các KĐTNN trong các cụm từ dự tuyển
- Công đoạn tuyển chọn: các cụm từ dự tuyển bao gồm các từ và cụm từ được rúttrích từ văn bản Để thực hiện điều này, một bộ gán nhãn từ loại và bộ phân tích cú phápđơn giản được sử dụng để xác định các cụm từ dự tuyển
- Công đoạn chọn lọc: công đoạn này sẽ phân tích các cụm từ dự tuyển theophương pháp chọn lọc dựa vào kinh nghiệm để xác định các KĐTNN
Công đoạn tuyển chọn
Công đoạn tuyển chọn bao gồm 2 bước: tiền xử lý và rút trích các cụm từ dựtuyển Tiền xử lý các câu Tiếng Việt gồm bài toán phân đoạn từ và gán nhãn từ loại Ởbước rút trích các cụm từ dự tuyển, cần xây dựng 1 cơ sở tri thức cho các dạng cấu trúccụm danh từ, dựa vào tập mẫu các cụm danh từ này cùng với các từ có gán nhãn từ loạinhận được từ bước tiền xử lý để nhận diện cụm từ dự tuyển Ở đây chỉ trình bày một sốphương pháp ở bước tiền xử lý
Một số phương pháp phân đoạn từ
Maximum Matching
Tư tưởng của phương pháp này là duyệt một câu từ trái qua phải và chọn từ cónhiều tiếng nhất mà có mặt trong từ điển tiếng Việt Nôi dung thuật toán này dựa trênthuật toán đã được ChihHao Tsai giới thiệu năm 1996
Ưu điểm: đơn giản, dễ hiểu và chạy nhanh
Khuyết điểm: thuật toán gặp phải nhiều nhập nhằng, hơn nữa nó hoàn toàn không
có chiến lược gì với những từ chưa biết