TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆPNgày nay, tìm kiếm thông tin trên Internet đã trở thành công việc không thể thiếu vớirất nhiều người, đặc biệt là sinh viên, học sinh, giảng viên, nghiên
Trang 1PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Thông tin về sinh viên
Họ và tên sinh viên: Trần Đinh Hưng
Điện thoại liên lạc 0979472676 Email: ayukco@yahoo.com
Lớp: HTTT - A Khóa 50 Hệ đào tạo:Chính quy
Đồ án tốt nghiệp được thực hiện tại: Viện Công nghệ thông tin và Truyền thông
Thời gian làm ĐATN: Từ ngày 28 / 2 /2010 đến 28 / 05 /2010
2 Mục đích nội dung của ĐATN
Xây dựng hệ thống thu thập, quản lý tài liệu khoa học dựa trên CiteSeerX
3 Các nhiệm vụ cụ thể của ĐATN
Tìm hiểu kiến trúc của hệ tìm kiếm thông tin
Tìm hiểu kiến trúc hệ thống CiteSeerX
Xây dựng hệ thống thu thập, quản lý và tìm kiếm tài liệu dựa trên CiteSeerX
Thêm các chức năng để hoàn thiện hệ thống: Auto Suggestion, hỗ trợ upload tài liệu từmáy người dùng
4 Lời cam đoan của sinh viên:
Tôi – Trần Đinh Hưng – cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của ThS Đỗ Bích Diệp
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳcông trình nào khác
Hà Nội, ngày 27 tháng 05 năm 2010
Tác giả ĐATN
Trần Đinh Hưng
5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảovệ:
Hà Nội, ngày 27 tháng 05 năm 2010
Giáo viên hướng dẫn
ThS Đỗ Bích Diệp
Trang 2TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Ngày nay, tìm kiếm thông tin trên Internet đã trở thành công việc không thể thiếu vớirất nhiều người, đặc biệt là sinh viên, học sinh, giảng viên, nghiên cứu sinh,… Một trongnhững đối tượng được họ quan tâm nhiều nhất để phục vụ cho quá trình học tập và nghiêncứu của mình là các tài liệu khoa học, những luận văn, đồ án chuyên sâu … Tuy nhiênnhững hệ thống tìm kiếm chuyên biệt tài liệu khoa học chưa nhiều, chưa hoàn thiện vàchưa hỗ trợ tốt cho ngôn ngữ tiếng Việt
Mục đích của đề tài này là tìm hiểu xây dựng mô hình hệ thống quản lý tài liệu khoahọc dựa theo mô hình tìm kiếm thông tin trên Internet Đồ án đưa ra mô hình kiến trúc tổngquan và các thành phần của hệ quản lý tài liệu khoa học, các kĩ thuật trích rút thông tin đặctrưng (tiêu đề, tác giả, nhà xuất bản, …) và tham chiếu (tài liệu tham khảo) của tài liệu, từ
đó tổ chức lưu trữ và tìm kiếm tài liệu theo các thông tin đã trích rút Để hiện thực hóa môhình hoạt động, đồ án sử dụng bộ mã nguồn mở CiteSeerX, một thành phần trong bộSeerSuit, nhằm xây dựng hệ thu thập, tìm kiếm tài liệu khoa học và cài đặt những thànhphần dịch vụ hỗ trợ cho việc lọc, phân tách, trích rút thông tin đặc trưng và tham chiếu từtài liệu
Đồng thời, đồ án còn thêm vào các chức năng để hoàn thiện hệ thống từ những dịch vụ
cơ bản đã được cung cấp bởi bộ mã nguồn mở CiteSeerX
Trang 3NỘI DUNG ĐỒ ÁN
Chương 1 : Nhu cầu tìm kiếm và tra cứu tài liệu chuyên ngành hiện nay
Chương 2 : Cơ sở lý thuyết về hệ thống tìm kiếm thông tin
Chương 3 : Kiến trúc hệ thống tra cứu tài liệu khoa học
Chương 4 : Xây dựng hệ thống thu thập, quản lý tài liệu khoa học dựa trên bộ mãnguồn mở CiteSeerX
Trang 4MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 2
NỘI DUNG ĐỒ ÁN 3
Chương 1: Nhu cầu tìm kiếm và tra cứu tài liệu khoa học chuyên ngành hiện nay 11 1 Quản lý và chia sẻ tài liệu khoa học 11
1.1 Tài liệu khoa học là gì 11
1.2 Nhu cầu trao đổi và chia sẻ tài liệu khoa học 11
1.3 Quản lý và tìm kiếm tài liệu khoa học 12
1.4 Các chức năng cần có của một hệ quản lý và tìm kiếm tài liệu khoa học .12 Chương 2: Cơ sở lý thuyết về hệ tìm kiếm thông tin 13
1 Tổng quan về tìm kiếm thông tin 13
1.1 Khái niệm cơ bản về hệ tìm kiếm thông tin 13
1.2 Mô hình của hệ tìm kiếm thông tin 14
2 Các thành phần của hệ tìm kiếm thông tin 15
2.1 Bộ biểu diễn câu truy vấn 15
2.1.1 Các toán tử tìm kiếm cơ bản 15
2.1.2 Quá trình biểu diễn câu truy vấn 16
2.2 Bộ biểu diễn tài liệu 18
2.3 Bộ đối sánh 19
3 Tìm kiếm thông tin trên web 20
3.1 Mô hình hệ thống 20
3.2 Hoạt động của hệ thống 21
3.3 Một số kỹ thuật được sử dụng 22
3.3.1 Xếp hạng trang ( Page Rank ) 22
3.3.2 Phân cụm 22
Trang 53.3.3 Phân lớp 23
3.3.4 Phản hồi từ người dùng 23
4 Quản lý và tìm kiếm đối với tài liệu khoa học 23
4.1 Cấu trúc của một tài liệu khoa học 23
4.2 Quản lý tài liệu khoa học 25
Chương 3: Hệ thống tra cứu tài liệu khoa học 27
1 Kiến trúc tổng quan hệ thống tra cứu tài liệu khoa học 27
2 Kỹ thuật trích chọn thông tin 28
2.1 Trích chọn đặc trưng tài liệu 28
2.1.1 Gán nhãn 28
2.1.2 Phân loại dòng 29
2.1.3 Phân loại dòng dựa trên thông tin ngữ cảnh 30
2.2 Thuật toán trích chọn metadata 30
2.2.1 Phân dòng dựa trên Support Vector Machine ( SVM ) 30
2.2.2 Đặc trưng trích chọn 31
2.2.3 Quá trình phân dòng 33
2.2.4 Trích chọn metadata từ dòng đa lớp 34
2.2.5 Định biên trên dòng đa tác giả 34
Định biên trên dòng phân cách bởi dấu cách 34
Định biên trên dòng phân cách bởi khoảng trắng 35
2.3 Thuật toán trích chọn thông tin tham chiếu 36
2.3.1 Đặc trưng miêu tả 36
2.3.2 Phân đoạn thông tin tham chiếu ( Citation ) 37
Nhận biết Citations 37
2.3.3 Hiệu chỉnh dữ liệu sau khi gán nhãn ( CRF ) 40
2.3.4 Đưa ra ngữ cảnh tham chiếu 41
Chương 4: Xây dựng hệ thống thu thập, quản lý tài liệu khoa học dựa trên bộ mã nguồn mở CiteSeerX 42
1 Giới thiệu về CiteSeerX 42
1.1 Dự án SeerSuite 42
Trang 61.2 Dự án CiteSeer 42
1.3 Dự án CiteSeerX 44
2 Mô hình hệ thống của CiteSeerX 46
3 Phân tích chi tiết hệ thống CiteSeerX 48
3.1 Mô hình cơ sở dữ liệu – Storage Layer 48
3.2 Các service sử dụng trong CiteSeerX - Application Layer 50
3.2.1 Heritrix – Tiện ích để crawl dữ liệu – Crawling Server 50
3.2.1.1 Giới thiệu về Heritrix 50
3.2.2.2 Hoạt động 51
3.2.2 Các dịch vụ hỗ trợ cho việc vào ra dữ liệu 52
3.2.2.1 Các dịch vụ phân tách văn bản 53
A File Converter 54
B ParsCit 55
C SVM Header Parse 56
3.2.2.2 Các class xử lý dữ liệu thô 57
3.2.3 Các chức năng thêm vào để hoàn thiện hệ thống 58
3.2.3.1 Chức năng Upload từ máy người dùng 58
3.2.3.2 Chức năng Auto Suggestion 58
A Đặt vấn đề 58
B Cơ sở dữ liệu 59
C Hoạt động 59
4 Giao diện và hoạt động của hệ thống 60
4.1 Chức năng search 61
4.2 Hỗ trợ người dùng upload tài liệu lên máy chủ 64
4.3 Sử dụng Heritrix 65
4.4 Chức năng Auto Suggestion 65
CÁC KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI .66
1 Các kết quả đạt được 66
Trang 72 Những mặt hạn chế 66
3 Hướng phát triển trong tương lai 66 TÀI LIỆU THAM KHẢO 68
Trang 8DANH MỤC CÁC HÌNH
Hình 1: Bản chất của tìm kiếm thông tin 13
Hình 2: Mô hình hệ tìm kiếm thông tin 14
Hình 3: Minh họa cho quá trình biểu diễn câu truy vấn với câu truy vấn ‘java OR programming‘ 16
Hình 4: Quá trình biểu diễn tài liệu 18
Hình 5: Các thành phần cơ bản của một hệ tìm kiếm thông tin trên Internet 20
Hình 6(a): Cấu trúc một tài liệu khoa học 24
Hình 6(b): Cấu trúc một tài liệu khoa học 25
Hình 7: Mô hình tổng quan của hệ quản lý tài liệu khoa học 27
Hình 8: Các dòng header được metatagged 29
Hình 9: Quá trình phân loại dòng 33
Hinh10(a): Dấu hiệu nhận biết phần tài liệu tham khảo của bài viết 38
Hình 10(b): Dấu hiệu nhận biết tài liệu tham khảo 38
Hình 11: Cấu trúc phần tài liệu tham khảo 39
Hình 12: Ngữ cảnh tham chiếu tài liệu 41
Hình 13: Kiến trúc CiteSeer 43
Hình 14: Virtual Document 44
Hình 15: Vị trí của CiteSeerX trên Web of World Repositories 45
Hình 16: Kiến trúc CiteSeerX 46
Hình 17: Các bảng cơ sở dữ liệu của hệ thống 49
Hình 18: Hoạt động của Heritrix 52
Hình 19: Hoạt động của các dịch vụ hỗ trợ vào ra dữ liệu 53
Hình 20: Mô hình hoạt động của bộ phân tách văn bản 54
Hình 21: Hoạt động của trang upload 58
Hình 22: Giao diện hệ thống 60
Hình 23: Query khi search theo Documents 61
Hình 24: Search theo Authors 62
Hình 25: Duyệt trước Abstract của kết quả 62
Hình 26: Hiển thị Citations đi kèm kết quả 63
Hình 27: Advanced Search 63
Hình 28: Hiển thị một văn bản 64
Hình 29: Giao diện trang submit tài liệu 64
Hình 30: Chạy một job trong Heritrix 65
Hình 31: Chức năng Auto Suggestion 65
Trang 9DANH MỤC CÁC TỪ VIẾT TẮT
Server : máy chủ
Client : máy trạm
Query : câu truy vấn
Crawl : sử dụng các bộ filter để tải dữ liệu về
Citation : các trích dẫn, thường thấy ở mục Tài liệu tham khảo
Logging service : các dịch vụ ghi lại thông tin hoạt động của hệ thống
Header : các thông tin thường nằm ở đầu của mỗi tài liệu khoa học
Abstract : phần tóm tắt của một văn bản
Submit : tải tài liệu lên máy chủ
Trang 10LỜI NÓI ĐẦU
Đồ án tốt nghiệp được thực hiện và hoàn thành sau một thời gian dài tìm hiểu, được hình thành từ ngay những ngày thực tập đầu tiên cho đến giờ Trong quá trình tìm hiểu đó, ngoài sự tìm tòi, học hỏi và cố gắng của bản thân, còn có rất nhiều người đã giúp đỡ, hướng dẫn em trong việc hoàn thiện đồ án
Trước hết, em xin chân thành gửi lời cảm ơn đến Ths Đỗ Bích Diệp và TS Vũ Tuyết Trinh - Bộ môn Các hệ thống Thông tin đã rất tận tình hướng dẫn và chỉ bảo cho em từ những giai đoạn tìm hiểu đầu tiên Cô đã bỏ nhiều thời gian và công sức
để giúp em giải quyết những khó khăn mà em gặp phải trong quá trình làm đồ án
Em xin được gửi lời cảm ơn tới các thầy cô trong Viện Công Nghệ Thông Tin vàTruyền Thông nói chung cũng như các thầy cô trong bộ môn Các hệ Thống Thông Tin nói riêng Các thầy cô đã truyền đạt kiến thức cho em trong suốt những tháng ngày theo học tại trường, trang bị cho em những kiến thức để em có thể tự tin bước vào môi trường làm việc mới, cuộc sống mới
Cuối cùng em xin gửi lời cảm ơn tới gia đình, người thân và bạn bè Những người luôn động viên, ủng hộ và giúp đỡ em trong suốt thời gian qua
Trang 11Chương 1: Nhu cầu tìm kiếm và tra cứu tài liệu khoa học chuyên ngành hiện nay
1 Quản lý và chia sẻ tài liệu khoa học
Những năm gần đây sự phát triển như vũ bão của mạng truyền thông và Internet
đã giúp chúng ta tiếp cận với một nền tảng tri thức khổng lồ Tìm kiếm thông tintrên Internet đã trở thành một trong những công việc quen thuộc của rất nhiềungười Với học sinh, sinh viên, giảng viên, nghiên cứu sinh, tìm kiếm thông tin, tàiliệu là việc rất quan trọng để hỗ trợ cho công việc học tập, nghiên cứu và thamkhảo Một trong những đối tượng tìm kiếm được họ quan tâm nhiều nhất chính làcác tài liệu báo cáo khoa học
1.1 Tài liệu khoa học là gì
Tài liệu khoa học là các ấn phẩm, sách, báo cáo kỹ thuật, bài báo hội nghị, bàibáo tạp chí, luận văn, các nghiên cứu về một công trình khoa học, một vấn đề khoahọc chuyên ngành nào đó Các tài liệu này thường có một cấu trúc đặc trưng vớimột số thành phần chính theo thứ tự sau :
Tiêu đề (title): miêu tả ngắn gọn nội dung của tài liệu
Thông tin về tác giả (author): tên, địa chỉ, email, nơi làm việc,…
Phần tóm tắt (abstract): giới thiệu, tóm tắt một số nội dung chính của bài viết,giúp người đọc hiểu khái quát về tài liệu
Phần nội dung chính của bài viết: đặt vấn đề, giải quyết vấn đề, các phươngpháp kĩ thuật thực hiện, kết quả thực hiện, đánh giá tổng kết, kết luận,…Phần tài liệu tham khảo: phần cuối cùng của bài viết, liệt kê các tài liệu được tácgiả tham chiếu tới Các thông tin về tài liệu tham khảo bao gồm tựa đề, tác giả, nămxuất bản, số trang,…và theo một định dạng nhất định
Tài liệu khoa học là kết tinh của một quá trình làm việc sáng tạo, lâu dài của tácgiả, có giá trị tham khảo lớn với độc giả, nên rất cần được công bố và chia sẻ rộngrãi
1.2 Nhu cầu trao đổi và chia sẻ tài liệu khoa học
Các nghiên cứu khoa học thường được các tác giả công bố trên các tạp chí, tậpsan khoa học (journal), trong các hội thảo, hay trên website cá nhân, … dưới nhiềuđịnh dạng thông dụng như doc, ps, pdf, txt,… Thế nên để có thể xem, tham khảonội dung của các tài liệu khoa học đó ta cần dựa trên nhiều công cụ hệ thống rời rạc,
hỗ trợ hoặc không hỗ trợ việc tìm kiếm Việc này sẽ gây nhiều khó khăn, bất tiệncho người đọc, tìm kiếm
Thực tế trên đã dẫn tới nhu cầu cần có một hệ thống lưu trữ và quản lý các tàiliệu khoa học một cách thống nhất Nó không chỉ phải giúp người đọc dễ dàng tìm
Trang 12tác giả biết được mức độ quan tâm của cộng đồng với kết quả nghiên cứu củamình
1.3 Quản lý và tìm kiếm tài liệu khoa học
Với việc quản lý các tài liệu khoa học – là các tài liệu có một số thông tin cấutrúc nhất định thì việc quản lý và tìm kiếm sẽ bao gồm:
Quản lý nội dung tài liệu - Tìm kiếm dựa trên các từ khóa
Quản lý thông tin đặc trưng của tài liệu: các thông tin đặc trưng bao gồm tiêu
đề, tác giả, tóm tắt bài viết, tài liệu được tham khảo,… Khi đó việc tìm kiếm
sẽ hỗ trợ tìm kiếm theo các thông tin đặc trưng, thông tin tham chiếu tài liệu
Để có thể có được các thông tin đặc trưng trên của tài liệu phục vụ cho quá trìnhtìm kiếm cần có một thành phần có khả năng phân tích xử lý tự động trích lọc cácthành phần đặc trưng và tham chiếu của tài liệu
1.4 Các chức năng cần có của một hệ quản lý và tìm kiếm tài liệu khoa học
Từ các phân tích trên ta thấy nhu cầu cần xây dựng một hệ thống quản lý tìmkiếm các tài liệu khoa học có một số chức năng chính sau:
Tổ chức lưu trữ các tài liệu: Các thành phần được lưu trữ bao gồm nội dung bàiviết, các đặc trưng như tiêu đề, tác giả, tài liệu tham chiếu đến bài viết Mỗi phần,mỗi đặc trưng có thể được lưu trong các bảng, các trường cơ sở dữ liệu để hỗ trợ tracứu, tìm kiếm
Thêm/ Sửa/ Xóa tài liệu: Hỗ trợ cho người dùng thêm mới một tài liệu; với mỗitài liệu có thể hiệu chỉnh, sửa chữa, chuẩn hóa nội dung cho đúng; có thể xóa tàiliệu nếu được phép
Trích rút thông tin: Thông tin được trích rút bao gồm thông tin về đặc trưng củatài liệu: tiêu đề, tên tác giả, email, địa chỉ, tóm tắt nội dung chính,… hay phần thamchiếu: các tài liệu được tham khảo đến; các thông tin về tài liệu tham khảo như tên,tác giả, năm xuất bản, số trang, đều được trích lọc lấy ra phân loại
Tìm kiếm: Với các tài liệu khoa học – các tài liệu có cấu trúc thì hệ thống ngoàikhả năng tìm kiếm theo nội dung còn có thể tìm kiếm theo các đặc trưng, thamchiếu của tài liệu
Ngoài ra hệ thống có thể tìm kiếm nâng cao: theo năm, theo đánh giá xếp hạng,theo hồ sơ người dùng, … làm tăng kết quả tìm kiếm
Trang 13Chương 2: Cơ sở lý thuyết về hệ tìm kiếm thông tin
1 Tổng quan về tìm kiếm thông tin
1.1 Khái niệm cơ bản về hệ tìm kiếm thông tin
Hình 1: Bản chất của tìm kiếm thông tin
Hình 1 thể hiện bản chất của hệ tìm kiếm thông tin với 2 tác nhân tham gia là
người dùng và người cung cấp dịch vụ tìm kiếm
Người cung cấp dịch vụ tìm kiếm trước hết sẽ lưu trữ thông tin về tài liệu Do số
lượng tài liệu rất lớn nên không thể lưu trữ toàn bộ nội dung tài liệu mà chỉ có thểlưu lại những thông tin quan trọng phục vụ cho quá trình tìm kiếm Các thông tinnày có thể là tiêu đề, tác giả, đoạn tóm tắt, đường link hay một số từ khóa quantrọng
Người dùng muốn tìm kiếm phải đưa vào các từ khóa đặc trưng cho tài liệu mình
muốn tìm Hệ thống sẽ thực hiện đối sánh các từ khóa này với các thông tin phục vụtìm kiếm tài liệu Những tài liệu có kết quả đối sánh tốt nhất sẽ được trả về như làkết quả của quá trình tìm kiếm
Như vậy bản chất của quá trình tìm kiếm thông tin dựa trên cơ chế “đối sánh” các tài liệu được lưu trữ trong hệ thống với yêu cầu tìm kiếm của người dùng để tìm
ra kết quả cho phù hợp
Trang 141.2 Mô hình của hệ tìm kiếm thông tin
Hình 2: Mô hình hệ tìm kiếm thông tin
Hình 2 trình bày mô hình hệ tìm kiếm thông tin cơ bản Các thành phần cơ bảnbao gồm:
Đầu vào (Input): gồm các câu truy vấn (queries) và các tài liệu (documents).
Câu truy vấn bao gồm các từ khóa (keyword) Từ khóa được hiểu là một tổ
hợp các từ của một ngôn ngữ nhất định, được sắp xếp hay quan hệ với nhauthông qua các biểu thức logic mà công cụ tìm kiếm hỗ trợ Trong trường hợp
từ khoá bao gồm nhiều hơn một chữ (hay từ) thì có thể gọi tập hợp các chữ
đó là bộ từ khoá (set of keywords)
Đầu ra ( output ) : Tập hợp các đoạn trích hay tài liệu được hệ thống đánh giá
phù hợp với yêu cầu truy vấn của người dùng :
Bộ xử lý ( Processor ): Thành phần chính của hệ thống thực hiện biểu diễn
lưu trữ thông tin tài liệu và tìm kiếm Nó bao gồm các thành phần cơ bản :
o Bộ biểu diễn câu truy vấn : Biểu diễn câu truy vấn người dùng
Trang 15o Bộ biểu diễn tài liệu : Biểu diễn thông tin về tài liệu , lập chỉ mục (
indexing ) phục vụ cho quá trình tìm kiếm
o Bộ đối sánh : Đối sánh giữa câu truy vấn và thông tin tài liệu xem tài
liệu có phù hợp không
Hoạt động của bộ xử lý : Bộ biểu diễn phân tích tài liệu, đánh chỉ mục, lưu
trữ thông tin về tài liệu vào kho dữ liệu Khi nhận được một câu truy vấn, bộ
biểu diễn câu truy vấn phân tích câu truy vấn thành các từ khóa và các toán
tử tìm kiếm Bộ đối sánh sau đó lấy thông tin về các tài liệu trong kho dữ
liệu, đối sánh với từ khóa và các toán tử tìm kiếm để tìm ra tài liệu thỏa mãncâu truy vấn của người dùng
Để phục vụ cho các hoạt động biểu diễn, lưu trữ, tìm kiếm hệ thống có thể cóthêm các thành phần chức năng nâng cao như phân tích từ, phân cụm, phân lớp đểtrích chọn ra các thông tin của tài liệu phù hợp cho quá trình tìm kiếm
2 Các thành phần của hệ tìm kiếm thông tin
Phần này sẽ đi sâu tìm hiểu về các thành phần của hệ tìm kiếm thông tin đã phântích ở trên : bộ biểu diễn câu truy vấn, bộ biểu diễn tài liệu, bộ đối sánh
2.1 Bộ biểu diễn câu truy vấn
Một câu truy vấn được tạo thành từ các từ khóa (keyword) và các toán tử tìm kiếm liên kết với các từ khóa Nhiệm vụ của bộ biểu diễn câu truy vấn là phân tích
câu truy vấn thành các từ khóa và toán tử tìm kiếm
2.1.1 Các toán tử tìm kiếm cơ bản
Toán tử AND: Có cú pháp (Toán hạng 1) AND (Toán hạng 2) Phép toán AND
nhằm yêu cầu hệ thống tìm kiếm các tài liệu có sự hiện diện của tất cả các toán tử
Ví dụ: “student AND teacher” sẽ giúp truy tìm các trang có mặt đồng thời hai
chữ student và chữ teacher
Toán tử OR: Có cú pháp là (Toán hạng 1) OR (Toán hạng 2) Lệnh này cho phép
tìm những tài liệu có chứa một trong các toán tử của phép toán OR của bộ từ khoá
Ví dụ: “Hà Nội “ OR “Hồ Chí Minh “ sẽ tìm tài liệu viết về Hà Nội hoặc thành
phố “ Hồ Chí Minh “
Toán tử NOT: Việc tìm kiếm sẽ loại bỏ những tài liệu mà nội dung có chứa toán
hạng đứng ngay sau phép toán NOT Tuy nhiên trong nhiều máy truy tìm có hỗ trợthì phép toán này cũng chỉ được dùng có một lần cho một bộ từ khoá
Ví dụ: để tìm tài liệu hướng dẫn về ngôn ngữ lập trình C/C++ có thể thử dùng
trên Altavista: "C/C++ tutor" NOT book.
Trang 16Dấu ngoặc kép “”: Khi muốn tìm nguyên văn của cụm từ, có thể dùng dấu ngoặc
kép Khi đó bộ đối sánh phải tìm kiếm các tài liệu có cả cụm từ ấy trong nội dungvăn bản
Ví dụ: tìm tài liệu viết về trường đại học Bách Khoa Hà Nội, có thể tìm với cụm
từ trong ngoặc kép “ Bách Khoa Hà Nội “.
2.1.2 Quá trình biểu diễn câu truy vấn
Hình 3: Minh họa cho quá trình biểu diễn câu truy vấn với câu truy vấn
‘java OR programming‘
Quá Trình biểu diễn câu truy vấn diễn ra theo các bước :
Bước 1: Phân tích câu truy vấn thành các Token: Thông thường các token được
định nghĩa là một chuỗi kí tự - chữ số nằm giữa các khoảng trắng và/hoặc các dấuchấm phẩy
Trong bước này, câu truy vấn java OR programming sẽ được phân tích thành 3
token là java, OR và programming.
Bước 2: Phân tích các Token thành các từ khóa và các toán tử tìm kiếm.
Trong bước này, ta sẽ thu được java và programming là từ khóa và OR là toán tử
tìm kiếm
Bước 3: Gồm các xử lý:
Trang 17Loại bỏ các từ dừng: Từ dừng (stop word) là những từ xuất hiện rất nhiều
trong các văn bản mà không có ý nghĩa nhiều đối với văn bản Trong tiếng
anh là các từ như a, an, the, is Việc loại bỏ từ dừng được xác định bằng
cách loại bỏ các từ mà tần suất xuất hiện vượt quá một ngưỡng giá trị nào đó
Loại bỏ tiền tố, hậu tố (word stemming): Trong ngôn ngữ tự nhiên, một từ có
thể xuất hiện trong câu dưới những biến thể khác nhau Một vài ví dụ trong
tiếng anh như chia động từ (am, are, is - be), số nhiều (teachers – teacher).
Để thực hiện việc biểu diễn ta cần phải chuẩn hóa các từ trong văn bản bằngcách đưa các biến thể của một từ về dạng chuẩn của nó
Loại bỏ từ tương đương: Loại bỏ các từ mang ý nghĩa giống nhau.
Trong bước này, java được giữ nguyên vì nó đang ở dạng nguyên thể,
programming được loại bỏ hậu tố và trở thành program.
Bước 4: Đánh trọng số cho các từ khóa: Một hệ thống tìm kiếm thông tin có thể
tiến hành đánh trọng số cho các từ khóa Trọng số thể hiện vai trò của từ khóa trongcâu truy vấn Trong một số hệ tìm kiếm thông tin, trọng số của từ khóa phụ thuộcvào vị trí xuất hiện của nó trong câu truy vấn
Trong bước này, 2 từ khóa java và program được đánh trọng số Từ khóa java
xuất hiện trước sẽ có trọng số cao hơn
Đầu ra của bộ biểu diễn câu truy vấn là một tập (từ khóa, trọng số) và các toán tử
tìm kiếm liên kết giữa các từ khóa
Trang 182.2 Bộ biểu diễn tài liệu
Hình 4: Quá trình biểu diễn tài liệu
Vì cả tài liệu và câu truy vấn đều được tạo thành từ các văn bản ngôn ngữ tự
nhiên nên việc biểu diễn chúng có một số xử lý giống nhau Hình 4 minh họa quá
trình biểu diễn tài liệu
Bước 1: xác định các đơn vị tài liệu cần thiết để biểu diễn: có thể là cả văn bản,
một đoạn, phần tiêu đề hay tóm tắt…
Bước 2: phân tích đoạn văn bản cần biểu diễn thành “từ”: Ở đây khái niệm “từ”
được hiểu là một từ hay một cụm từ tạo thành một ý nghĩa nào đó trong văn bản
Mỗi “từ” này được gọi là một term.
Bước 3: bao gồm các xử lý loại bỏ các từ dừng, tiền tố, hậu tố, loại bỏ các từ
tương đương (giống biểu diễn câu truy vấn), những từ quá hiếm gặp (loại bỏ những
từ có tần suất xuất hiện trong văn bản thấp hơn một ngưỡng giá trị nào đó) Các
term còn lại sau các quá trình xử lý này được gọi là các index term.
Bước 4: đánh trọng số cho các index term Trọng số thể hiện vai trò của index
term trong tài liệu Nó phụ thuộc vào nhiều yếu tố: tần suất xuất hiện của từ trongvăn bản tài liệu, font chữ, cỡ chữ, vị trí xuất hiện…
Trang 19Bước 5: đánh chỉ mục cho các index term Việc đánh chỉ mục thực hiện bằng
cách tổ chức các index term dưới dạng một từ điển (dictionary) Với mỗi term
người ta có một danh sách chỉ ra tài liệu nào có xuất hiện term ấy Danh sách này
gọi là các posting.
Mỗi posting bao gồm một index term và chỉ số tài liệu nó xuất hiện (ngoài ra có
thể có các thông tin phụ như vị trí xuất hiện, kích cỡ, font chữ…)
Ví dụ: Xem xét các tài liệu được đánh chỉ số từ 1 dến 175 Index term Brutus
xuất hiện trong các tài liệu có chỉ số là 1, 2, 4, 11, 33, 45, 173,174 Index term
Caesar xuất hiện trong các tài liệu 1, 2, 4, 5, 6, 16, 57
Các posting sẽ như sau :
Thông tin về các (index term, posting) được lưu trữ để phục vụ cho việc tìm
Mô tả hoạt động của bộ đối sánh như sau:
Đầu vào: kết quả của quá trình biểu diễn câu truy vấn; các posting và
dictionary (thu được sau quá trình biểu diễn và đánh chỉ mục tài liệu)
Đầu ra: kết quả đánh giá độ phù hợp của câu truy vấn và tài liệu Các kết quả
này có thể được sắp thứ tự
Xử lý: sử dụng hàm matching để đánh giá độ phù hợp giữa nội dung câu truy
vấn và tài liệu Tùy từng hệ thống, hàm matching này có thể khác nhau Có
thể sử dụng kết quả của hàm matching để sắp thứ tự kết quả trả về cho người dùng Hàm matching trả về kết quả dưới nhiều dạng khác nhau:
o Boolean (0 hoặc 1): Một tài liệu chỉ có thể được đánh giá là phù hợp
hay không phù hợp với câu truy vấn, không thể sắp thứ tự tài liệu;
o Dải rộng kết quả: Có thể dùng để sắp thứ tự tài liệu.
Trang 20Ví dụ: Một hàm matching đơn giản có thể dựa vào số lượng các từ trùng nhau
của một biểu diễn truy vấn và một biểu diễn tài liệu như sau:
Trong đó:
D- Tập các từ khóa biểu diễn văn bản của tài liệu.
Q- Tập các từ biểu diễn query.
| D^Q | - Số lượng các từ trong tập giao của hai tập từ biểu diễn query và biểu
diễn văn bản của tài liệu
|D| + |Q| - Tổng số lượng các từ trong hai tập từ biểu diễn query và biểu diễn
văn bản của tài liệu
Khi đó, M sẽ nằm trong dải [0 1] Dựa vào kết quả này hệ thống sẽ đưa ra sắpxếp độ phù hợp của tài liệu và câu truy vấn
3 Tìm kiếm thông tin trên web
3.1 Mô hình hệ thống
Hình 5: Các thành phần cơ bản của một hệ tìm kiếm thông tin trên
Internet
Trang 21Nó cũng bao gồm các thành phần cơ bản của một hệ tìm kiếm thông tin: bộ biểu
diễn tài liệu, bộ biểu diễn câu truy vấn, bộ đối sánh Ngoài ra, nó còn có một thành
phần đặc biệt là bộ thu thập web (web crawler hay còn gọi là web robot, web
spider…) cho phép thu thập, tập hợp thông tin từ các nguồn khác nhau trên Internet
một cách tự động
3.2 Hoạt động của hệ thống
Mô-tơ tìm kiếm trên Internet hoạt động theo các bước cơ bản sau:
Thu thập thông tin web (web crawler): Các hệ thống tìm kiếm trên mạng
internet thực hiện công việc lưu giữ thông tin về một số lượng khổng lồ cáctrang web nó tìm thấy trên WWW Những trang web này được lấy về từ các
robot (còn gọi là nhện web) bằng cách lần theo các siêu liên kết Robot là một
chương trình tự động duyệt qua các cấu trúc siêu liên kết để thu thập tài liệu
và một cách đệ quy Nó nhận về tất cả tài liệu có liên kết với tài liệu này
Những trang web này được biết đến dưới nhiều tên gọi khác nhau: spider,
web wanderer hoặc web worm… Các cách gọi đó đôi khi gây nhầm lẫn, như
từ ‘spider’, ‘wanderer’ làm người ta nghĩ rằng robot tự di chuyển hoặc từ
‘worm’ làm người ta liên tưởng đến virus Về bản chất robot chỉ là mộtchương trình duyệt và thu thập thông tin từ các site theo đúng giao thức web.Những trình duyệt thông thường không được xem là robot do thiếu tính chủđộng, chúng chỉ duyệt web khi có sự tác động của con người
Nguyên tắc hoạt động của robot: Xuất phát từ một tập địa chỉ URL cho trước,
Web Robot sẽ lần theo các địa chỉ link từ mỗi tài liệu để tìm đến các tài liệu khác.Việc lần tìm này có thể tuân theo hai nguyên tắc: Tìm kiếm theo chiều sâu và tìmkiếm theo chiều rộng
Lập chỉ mục cho các tài liệu thu thập được: Nội dung các tài liệu thu được ở
trên sau đó được phân tích bằng hàm biểu diễn tài liệu, đánh chỉ mục và đượclưu trữ trong hệ thống Mục đích của việc đánh chỉ mục là làm cho quá trìnhtìm kiếm diễn ra dễ dàng và nhanh chóng hơn Do nội dung của các tài liệu cóthể luôn luôn thay đổi nên các thông tin này thường xuyên được cập nhật
Tìm kiếm: Câu truy vấn được biểu diễn thành các từ khóa và các toán tử tìm
kiếm Trọng số có thể được gán cho các từ khóa Một số hệ thống coi từ khóa
có trọng số cao nhất là từ khóa xuất hiện đầu tiên Sau đó, hệ thống sẽ truy
tìm các index term phù hợp với các từ khóa Theo các thông tin trong posting
ta có thể tìm được các tài liệu có chứa từ khóa này và trọng số tương ứng của
từ khóa trong tài liệu ấy
Trang 22Các tài liệu thỏa mãn mối liên hệ giữa các từ khóa qua các toán tử tìm kiếm đượcxác định là phù hợp Để xếp thứ tự các tài liệu, ta tính trọng số dựa trên các thôngtin về trọng số của term ứng với từ khóa trong tài liệu và trọng số của từ khóa.
3.3 Một số kỹ thuật được sử dụng
3.3.1 Xếp hạng trang ( Page Rank )
Một số lượng lớn các tài liệu trên mạng Internet là các trang Web Ngoài việc xử
lý các trang tìm thấy theo yêu cầu của một từ khoá trong kho dữ liệu cập nhật, các
hệ thống tìm kiếm còn phải tìm cách chống lại sự nhiễu loạn của các trang không
có nội dung phù hợp với yêu cầu nhưng vẫn lọt vào danh sách tuyển chọn của máy truy tìm Nguyên nhân của các nhiễu loạn này là việc các trang chuyên về quảng
cáo hay tiếp thị luôn luôn tìm cách để lọt vào hàng đầu trong danh sách tuyển chọncủa hệ thống tìm kiếm Qua đó họ có thể giới thiệu sản phẩm của họ đến ngườidùng Ngược lại, người dùng, trong đa số các trường hợp, không muốn tìm cácquảng cáo tiếp thị mà chỉ muốn tìm các dữ liệu khác theo ý đã ghi trong từ khoá
Do các đặc điểm phức tạp trên, việc phân hạng các trang Web tìm được bởi một
bộ từ khoá cho trước của máy truy tìm sẽ dựa vào việc áp dụng thêm các thuật toán hay biện pháp xử lý đặc biệt Các tiêu chí chủ yếu mà các thuật toán của các hệ
thống tìm kiếm Web sử dụng để phân hạng các trang Web: tần số phát sinh, thẻmeta và câu lệnh title, ngôn ngữ, số liên kết ngoài
3.3.2 Phân cụm
Phân cụm (clustering) là khái niệm gom nhóm những đối tượng tương tự nhau
vào cùng một cụm
Bao gồm các loại phân cụm như sau:
Phân cụm tài liệu: Phân cụm tài liệu là khái niệm gom nhóm những tài liệu
tương tự nhau vào cùng một cụm Việc phân cụm phải đảm bảo các tài liệutrong 1 cụm phải tương tự nhau và các tài liệu khác cụm phải khác nhau.Mỗi cụm sẽ tìm ra một “tâm cụm” đại diện cho cụm Việc đối sánh tìm kiếmchỉ thực hiện với tâm của cụm nhưng kết quả sẽ trả về với tất cả các tài liệutrong cụm
Việc phân cụm có những ưu điểm là đảm bảo đưa ra kết quả tìm kiếm tốt hơn vàquá trình tìm kiếm diễn ra nhanh hơn
Phân cụm người dùng: Gom nhóm những người dùng giống nhau vào cùng
một cụm Sự giống nhau được đánh giá dựa trên những sở thích đã đượckhảo sát Tìm ra cụm gần nhất với người dùng để đưa ra kết quả tốt nhất chongười dùng dựa theo những kết quả đã có từ những người trong cụm
Trang 23Phân cụm kết quả: Các nghiên cứu cho thấy nếu ta phân cụm các kết quả
thành các loại (category) thì sẽ giúp cho người dùng dễ dàng hơn trong việc duyệt qua tập kết quả Ví dụ: category về thể thao, tin tức, tin học…
3.3.3 Phân lớp
Phân lớp tài liệu là khái niệm tự động gán nhãn cho các tài liệu Mục đích là hỗtrợ cho người dùng trong việc duyệt các tài liệu trả về
Ví dụ: Spam và non-spam hay Interesting và non-interesting
Việc phân lớp các tài liệu có thể dựa trên hướng tiếp cận học máy như sau:
Thu được một tập các tài liệu đã được gán nhãn
Sử dụng một giải thuật học máy: kNN, Bayesian, SVMs, cây quyết định…Gán nhãn cho tài liệu mới dựa theo tập các tài liệu đã được gán nhãn từtrước
3.3.4 Phản hồi từ người dùng
Thể hiện những đánh giá của người dùng được hệ thống sử dụng trong quá trìnhtìm kiếm Các dạng phản hồi của người dùng như sau:
Phản hồi của người dùng trong một phiên tìm kiếm: Các bước thực hiện việc
phản hồi trong phiên tìm kiếm:
o Ban đầu người dùng đưa ra một câu truy vấn ngắn, đơn giản
o Người dùng đánh dấu các kết quả trả về là thỏa mãn hay không thỏamãn
o Hệ thống tính toán một cách thể hiện câu truy vấn tốt hơn dựa trênnhững đánh dấu của người dùng
o Phản hồi có thể diễn ra một lần hay lặp lại nhiều lần
Các đánh giá đã có của người dùng về các tài liệu: Dựa vào các đánh giá
trong quá khứ của người dùng để đánh giá về tài liệu mới Nó được sử dụngcho việc phân lớp tài liệu
Quản lý và tìm kiếm đối với tài liệu khoa học
4.1 Cấu trúc của một tài liệu khoa học
Với hệ thống tìm kiếm tài liệu khoa học, đối tượng tìm kiếm là các tài liệu báocáo khoa học – là những tài liệu có cấu trúc Cấu trúc của nó có thể chia làm 3 phầnchính:
Phần thông tin đặc trưng của tài liệu (header): bao gồm các thông tin về
tiêu đề, tác giả, tóm tắt bài viết ( abstract ),…
Trang 24Phần nội dung chính của bài viết : giới thiệu nội dung , các phương pháp
thực hiện , kết quả thực hiện, hướng phát triển , kết luận
Phần tài liệu tham khảo (References, Citations): Phần này có thể có hoặc
không tùy từng bài viết Nó liệt kê các tài liệu được tham chiếu sử dụngtrong bài viết Các thông tin về tài liệu tham khảo được trình bày theo địnhdạng nhất định bao gồm: tên tài liệu, tác giả, năm xuất bản, số trang, ngữcảnh tham chiếu tài liệu (phần nào của bài viết tham khảo đến tài liệu),…
Hình 6(a): Cấu trúc một tài liệu khoa học
Trang 25Hình 6(b): Cấu trúc một tài liệu khoa học
4.2 Quản lý tài liệu khoa học
Về lưu trữ: Đối tượng được lưu trữ là tài liệu khoa học: các file thu thập được
trên Internet qua bộ Crawler hoặc được người dùng thêm vào Các file thường có định dạng số như pdf, ps, hoặc được nén (zip, gzip) Hệ thống sau đó sẽ chuyển định dạng file về file text(txt) để dễ phân tích xử lý File text và những phần được
phân tách ra đều được lưu trữ và quản lý thống nhất
Về biểu diễn thông tin tài liệu: Tài liệu khoa học được biểu diễn theo các từ khóa
thể hiện nội dung, theo đặc trưng của tài liệu (tiêu đề, tác giả, số trang, năm xuấtbản,…), theo tài liệu tham chiếu của nó Muốn có những dữ liệu đó, hệ thống phải
có thành phần tự động phân tách, trích chọn những thông tin phù hợp Thành phần
đó sẽ sử dụng một số kĩ thuật, thuật toán để phân loại, gán nhãn, trích lọc ra nhữngthông tin đặc trưng, tham chiếu của tài liệu
Về tìm kiếm tài liệu: Sau khi tài liệu khoa học đã được biểu diễn theo từ khóa và
Trang 26Hệ thống hỗ trợ tìm kiếm theo nội dung tài liệu, theo thông tin đặc trưng tài liệu(tiêu đề, tác giả,nhà xuất bản ,…), theo tài liệu tham khảo của bài viết,…
Ngoài ra hệ thống còn có thể tâp hợp thống kê những bài viết khoa học theo từng mốc thời gian, theo tác giả, nhà xuất bản,… hay xếp hạng đánh giá tài liệu theo số
lượng tài liệu tham khảo đến nó nhằm giúp người đọc dễ dàng tham khảo và tracứu
Trang 27Chương 3: Hệ thống tra cứu tài liệu khoa học
Kiến trúc tổng quan hệ thống tra cứu tài liệu khoa học
Ta cần xây dựng một hệ thống quản lý tài liệu khoa học dựa trên mô hình hệ thống tìm kiếm thông tin trên web Bên cạnh các chức năng của một hệ tìm kiếm chung là biểu diễn lưu trữ dữ liệu, đánh chỉ mục, thu thập, thêm mới tài liệu, đối sánh tìm kiếm thì hệ quản lý tài liệu khoa học còn cần thêm phần xử lý trích chọn thông tin đặc trưng tham chiếu của tài liệu, giúp cho việc tìm kiếm theo các đặc trưng, tham chiếu đó đạt hiệu quả Sau đây là mô hình kiến trúc tổng quan của hệ thống:
Phân Tách Đặc Trưng
CSDL Tham Chiếu
Chỉ Mục Nôi Dung TL
Chỉ Mục Đặc Trưng
Chỉ Mục Tham Chiếu
Biểu Diễn Tài Liệu
Client Trả Về Kết Quả
Hình 7: Mô hình tổng quan của hệ quản lý tài liệu khoa học
Trang 28Miêu tả thành phần hoạt động:
Thu thập thông tin: Tài liệu được thu thập vào kho dữ liệu của hệ thống qua
2 cách:
o Tự động thu thập trên Web: Thành phần Crawler tự động duyệt qua
các cấu trúc siêu liên kết để thu thập tài liệu
o Người dùng thêm vào: người sử dụng có thể thêm tài liệu vào hệthống bằng cách cung cấp đường link đến tài liệu Hệ thống sau đó sẽ
tự duyệt đường link để tìm tài liệu và các tài liệu liên kết tới tài liệu
này qua đường link trong đó nhờ bộ Crawler
Lưu trữ, cập nhật tài liệu : Tài liệu được lưu trong kho dữ liệu của hệ thống.
Kho dữ liệu sẽ lưu trữ các tài liệu thu thập được ở dạng gốc, hỗ trợ cho người
dùng tải về cùng với các thông tin được xử lý trích chọn như các bảng cơ sở dữ liệu,
mô tả đặc trưng, tham chiếu, các chỉ mục, … giúp người dùng tìm kiếm
Người dùng có thẩm quyền sẽ được phép chỉnh sửa nội dung, thông tin đặc trưngcủa tài liệu (sửa lỗi, cập nhật, xóa) giúp tài liệu chuẩn hóa, hoàn thiện
Trích rút thông tin : Tài liệu thu thập về được bộ phận phân tách dữ liệu
trích chọn những thông tin về đặc trưng, tham chiếu, lưu vào trong các bảng
cơ sở dữ liệu của kho dữ liệu Bộ phân tách dữ liệu bao gồm một số thành
phần cơ bản như trích rút nội dung (chuyển định dạng từ file pdf,ps sang file
text), kiểm tra phần tài liệu tham khảo của bài viết, trích chọn thông tin metadata và citatons của nó…
Xử lý tìm kiếm : Những yêu cầu tìm kiếm của người dùng được biểu diễn
bằng các câu truy vấn và đối sánh với thông tin đã xử lý để trả về kết quảphù hợp Hệ thống cũng tiến hành đánh chỉ mục cho nội dung bài viết, chometadata, citations của nó giúp cho tìm kiếm nhanh, chính xác hơn
Kỹ thuật trích chọn thông tin
2.1 Trích chọn đặc trưng tài liệu
Các thông tin đặc trưng của tài liệu như : tiêu đề, tên tác giả, địa chỉ, email,
keyword, abstract, …thường phân theo các lớp tương ứng : title, author, address, emai, keyword, abstract,… và được trình bày theo từng dòng, mỗi dòng có quan hệ ngữ cảnh với nhau.
Vì thế để trích chọn được thông tin đặc trưng tài liệu ta sẽ tìm hiểu các kĩ thuật
để gán nhãn text, phân loại dòng và phân dòng dựa trên thông tin ngữ cảnh
2.1.1 Gán nhãn
Trang 29Mỗi thông tin thuộc một trường dữ liệu đặc trưng(tiêu đề, tác giả, tóm tắt, )
thuộc các đoạn text sẽ được gán với những metatags, mỗi metatag sẽ tương ứng với
một lớp Quá trình đó gọi là gán nhãn text
Hình 8: Các dòng header được metatagged
Hình trên mô tả một header của tài liệu được metatagged Những đoạn text chứa thông tin về tiêu đề, tác giả ,… được đặt trong các metatags title, author ,…Hệ
thống sau đó sẽ dựa vào tên các metagtags mà lấy ra dữ liệu cho phù hợp
2.1.2 Phân loại dòng
Với cấu trúc một header của tài liệu khoa học ta thường thấy thì một dòng thuộc
header thường chứa thông tin của một hay nhiều lớp metadata
Ví dụ: Trong hình 8 mỗi dòng được đánh số thứ tự và có dấu kết thúc dòng +L+
Các dòng 1, 2, 3 chứa thông tin của 1 lớp ( title, author, abstract ) còn dòng 25
Trang 30Các dòng header theo đó được chia ra 2 loại :
Single-class line : Dòng đơn lớp: chứa thông tin một lớp dữ liệu.
Multi-class line : Dòng đa lớp: chứa thông tin về nhiều lớp dữ liệu
Multi-author line : dòng đa lớp bao gồm tên của nhiều tác giả bài viết.
Do đó để gán nhãn text vào metatags ta phải có kĩ thuật để phân loại dòng (line
classification)- xác định dòng nào đơn lớp, dòng nào đa lớp để đưa vào metatags
cho phù hợp
Với các dòng đa lớp, để lấy ra thông tin cho từng lớp ta cần xác định cụm từ
chứa thông tin một lớp Quá trình này gọi là gom cụm / định biên (chunk indentification)
Ví dụ: Trong dòng tác giả “ Chungki Lee Jame E.Burn “ ta phải xác định biên
của tên tác giả là một hay hai tác giả
2.1.3 Phân loại dòng dựa trên thông tin ngữ cảnh
Các dòng header thường có mối liên quan ngữ cảnh với nhau Ví dụ: dòng tiltle
thường là dòng đầu tiên của header, theo sau là dòng về tên tác giả, rồi đến cácthông tin địa chỉ, mail, … dòng tóm tắt bao gồm nhiều dòng đơn liên tục
Vì thế để hỗ trợ phân loại dòng vào các lớp metadata được chính xác và hiệu quả
ta kết hợp thêm phương pháp đoán nhận dựa trên thông tin ngữ cảnh (contextual
information) - dùng nhiều dòng liền kề đã được gán nhãn để xác định lớp cho dòng hiện tại
Tóm lại, việc trích rút thông tin của header tài liệu khoa học có 2 vấn đề chính: Phân loại dòng ( line classification ) : Xác định dòng đơn hay đa lớp sử dụng
các thông tin ngữ cảnh
Định biên (chunk indentification) : Xác định nhóm từ cho một lớp trong
dòng đa lớp
2.2 Thuật toán trích chọn metadata
2.2.1 Phân dòng dựa trên Support Vector Machine ( SVM )
Phân loại dòng: Quá trình sắp xếp dòng vào một trong nhiều lớp xác định trước
dựa trên nội dung của chúng Sự khác nhau trong kết quả phân loại, phụ thuộc vàoviệc lựa chọn tập đặc trưng miêu tả đối tượng cần phân loại, kết hợp với thông tinđối tượng phân loại trước liền kề
Thời gian gần đây kĩ thuật học máy được sử dụng nhiều để phân loại Đây là
phương pháp sử dụng tập huấn luyện thông qua bộ phân loại và tập đặc trưng miêu
tả đối tượng để tự động phân loại đối tượng chưa biết
Mô tả:
Trang 31Cho Tập các nhãn(phân loại, lớp) C={c1,…cn} và tập đối tượng cần phân loạiD={D1, D2, …} Một bộ phân loại là hàm ánh xạ K từ D tới tập tất cả các tập concủa C.
Hệ thống sử dụng một tập huấn luyện – tập đối tượng được gán nhãn trước đóbởi một chuyên gia Đối tượng cần gán nhãn được miêu tả theo các đặc trưng tríchchọn và bộ phân loại dựa trên tập huấn luyện để có sự phân loại tương tự
Một trong những phương pháp học máy sử dụng cho phân loại trích chọn thông
tin được sử dụng nhiều là Support Vector Machine(SVM): máy vector hỗ trợ Trong
đó đối tượng cần phân loại được xem là một vector trong không gian Vector có sốchiều là tập các đặc trưng trích chọn SVM dựa trên Vector hỗ trợ - sinh ra bởi tập
dữ liệu huấn luyện để phân loại đối tượng
Ta sẽ sử dụng phần mềm SVM_light để thực thi SVM cùng với biểu diễn đối
tượng cần phân loại (ở đây là dòng) theo các đặc trưng trích chọn để phân loại, trích rút thông tin đặc trưng của tài liệu khoa học.
2.2.2 Đặc trưng trích chọn
Đặc trưng trích chọn là các đặc trưng miêu tả một từ hay một dòng, hỗ trợ choviệc trích chọn phân loại thông tin
i Đặc trưng miêu tả từ (word-scpecified feature : các tính chất, đặc trưng được
định nghĩa dựa trên một số luật để mô tả các từ trong một dòng Từ ở đây là tập kí
tự các số, chữ cái, dấu liền nhau Một số luật đươc sử dụng:
Kiểm tra sự tồn tại của từ trong hệ cơ sở dữ liệu từ điển (Dictionary)
Hệ cơ sở dữ liệu từ điển là cơ sở dữ liệu về họ, tên, quận, thành phố, quốc gia,ngày tháng,…có sẵn được nhiều chuyên gia cung cấp Hệ thống sử dụng nó để miêu
tả ngữ nghĩa từ (là tên người hay địa danh, ngày tháng…) giúp phân loại dễ dàng Bên cạnh cơ sở dữ liệu từ điển, người phát triển có thể tự tạo danh sách worklist
là danh sách từ hay dùng cho một lớp Nếu từ nằm trong danh sách đó hệ thống cóthể đoán nhận dòng chứa nó thuộc lớp nào
Ví dụ: có thể tạo danh sách từ dùng cho lớp Affiliation – nơi xác nhận tư cách tác
giả (có thể là một trường đại học , một phòng thí nghiêm , một khoa viện,…) như
sau:(University, Department,Uni, Institute, Research,Lab,Tech,Dept,School,Center)
Ngữ nghĩa , quy tắc chính tả của từ :
o Số(number) : một hay nhiều chữ số Số sẽ là năm nếu có định dạng
19xx hay 20xx; là số chương số trang có thể đi kèm từ khóa volume,pages; là địa chỉ nếu đi kèm với tên địa danh,…
o Chữ cái : Từ viết hoa tất cả các kí tự hay chỉ kí tự đầu Nếu viết hoa
tất cả thì có thể viết tắt cho tên địa danh (liền kề với các số địa chỉ)hay tên người (có dấu chấm xen giữa các kí tự) Một số kí tự đặc biệt
Trang 32để nhận biết từ như www(địa chỉ web), @(địa chỉ mail), dấu gạch nối
(tên người),…
ii Đặc trưng miêu tả dòng ( line-specifed feature )
Là các tính chất đặc trưng được định nghĩa để mô tả một dòng Một số đặc trưnghay dùng :
CdigitNumPer : Phần trăm của số(number) có trên dòng
Ngoài ra còn có một số đặc trưng miêu tả lớp cho dòng:
CaffiNumPer : Phần trăm của từ thuộc lớp affiliation có trên dòng
CaddrNumPer, CdateNumPer, CphoneNumPer, CpageNumPer: Phần trăm
những từ mô tả lớp địa chỉ, ngày tháng , phone, pages, … có trên dòng Đây là những cơ sở giúp hệ thống xác định được lớp cho một dòng
Trang 332.2.3 Quá trình phân dòng
Là quá trình bao gồm 2 bước: Phân loại dòng độc lập và phân loại dòng dựa
trên thông tin ngữ cảnh Quy Trình được trình bày theo hình vẽ sau:
Tạo Danh Sách WorkList Cho Các Lớp
Heades dữ liệu
Đã gán nhãn Cơ Sở dữ liệu từ điển
Tạo Danh Sách Đặc Trưng Trích Chọn
Phân Loại Dòng Độc Lập Dựa Trên SVM
Tạo Danh Sách Đặc TrưngTrich Chọn Theo Ngữ Cảnh
Phân Loại SVM theo Ngữ Cảnh
Hình 9: Quá trình phân loại dòng
Trang 342.2.4 Trích chọn metadata từ dòng đa lớp
Quá trình đoán nhận cụm tin của dòng chứa N lớp là quá trình tìm N-1 biên cụm trên dòng đó Các dấu hiệu để tìm biên thường là các dấu phân cách: dấu chấm, dấu
phẩy, dấu cách…
Mỗi lớp thường chỉ bao gồm một cụm tin –là tập các từ chứa dữ liệu cho một lớp.
Khi đó ta coi mỗi cụm của dòng đa lớp như một dòng đơn ngắn và phân loại dòngđơn đó theo phương pháp phân loại dòng ở trên
Ví dụ: “ Trường đại học Bách Khoa Hà Nội , số 1 Đại Cồ Việt “ là dòng chứa 2
lớp affitiation và address (nơi chứng nhận bài viết tác giả và địa chỉ); dấu ‘,’ ở đây
là dấu hiệu để phân cụm
Với các header của tài liệu khoa học, đa số là những dòng chứa thông tin 2 lớp,
còn lại số ít là dòng 3,4,5 lớp Do đó việc tìm biên các cụm sẽ tập trung vào các
Ở dòng trên vị trí của địa chỉ email đã giúp xác định biên cho 2 lớp còn lại
2.2.5 Định biên trên dòng đa tác giả
Một dòng gọi là đa tác giả khi nó có nhiều hơn 4 từ (word ) Dòng đa tác giả là
dòng chứa tên của nhiều tác giả bài viết Hệ thống cần xử lý để trích chọn tên củatừng tác giả đưa và lớp tên (name)
Hầu hết các dòng đa tác giả đều sử dụng dấu cách( dấu chấm ,phẩy , & , ), hoặc khoảng trắng (space) để phân ra các tác giả khác nhau Do đó ta chia 2 cách để
xác định tên tác giả:
o Định biên trên dòng phân cách bởi dấu cách (punctuation saparated)
o Định biên trên dòng phân cách bởi khoảng trắng (space sapareted)
Định biên trên dòng phân cách bởi dấu cách
Ta có thể sử dụng thêm các thông tin ngữ cảnh bên cạnh các dấu cách để hỗ trợcho việc định biên cụm Những thông tin phổ biến là:
Số dấu cách trên 1 dòng (Nếu có nhiều dấu chấm “.” thì nó là dấu phân cách
tên tác giả)
Vị trí của dấu cách trên dòng (Dấu chấm ở giữa dòng là dấu phân cách tên)
Số từ trước/sau dấu cách