2. Kỹ thuật trích chọn thông tin
2.3.1 Đặc trưng miêu tả
Một số đặc trưng sử dụng để mô tả các token trong chuỗi tham chiếu tài liệu bao gồm :
• Nhận dạng token : Một token sẽ được nhận dạng là một trong 3 loại
o As-is : Bao gồm tập kí tự không phải là chữ cái hay chữ số.
o Lowercased : Tập các chữ số và chữ cái in thường(có thể đi kèm dấu
phân cách ) – gọi là 1 từ (word).
o Lowercased stripped of puctuation: Từ không có các dấu phân cách.
• Định dạng kí tự cuối cùng của từ (lastchar): Kí tự cuối cùng của từ được mã
hóa theo 3 định dạng: là chữ in thường (mã hóa thành kí tư ‘a’), in hoa (mã
hóa thành kí tự ‘A’) hay chữ số (mã hóa thành kí tự ‘0’).
• Mã hóa tiền tố /hậu tố của từ: Mã hóa 4 kí tự đầu tiên và 4 kí tự cuối cùng
• Định dạng token : Token được định dạng theo 4 loại: ALLCAPS(được in hoa
tất cả), Initialcaps(in hoa chữ cái đầu tiên), MixedCaps (in hoa một số chữ cái) và other (các trường hợp khác)
• Dấu phân cách (punctuation) : Những dấu phân cách ở trong token có thể
được mô tả là một trong các loại :
o Dấu trích dẫn đầu (leading quotes) : Các dấu (“ ‘ `) ở đầu token. o Dấu trich dẫn cuối (endingQuotes) : Các dấu (“ ‘ `) ở cuối token. o Đa dấu nối – (multiHyphen) : dấu hiệu nhận biết khoảng trang của tài
liệu.
o Dấu ngắt tạm thời(continuting puctuation) : dấu phẩy(,), dấu chấm phâỷ (;)
o Dấu ngắt dừng (stop puctuation): dấu chấm (. ), dấu trích dẫn (“ ‘) o Dấu ngoặc móc < ( { []})>
o Dấu đánh dấu số chương (ví dụ: 2(3) ) : định dạng là một hay nhiều
chữ số đi kèm với một hay nhiều chữ số được bao bởi dấu ngoặc () ) Các loại khác (other) :
• Mô tả chữ số : Mô tả những chữ số của token theo một số kiểu như:
o Kiểu năm (year) : nếu số có giá trị trong khoảng 19xx và 20xx)
o Kiểu khoảng trang (PageRange) : số có dấu nối ở giữa ( 2-5 )
o Kiểu chương (Volume) : ví dụ: 2(3)
o Kiểu thứ tự (số đi kèm với các hậu tố st,nd,rd,th) : ví dụ :1st, 2nd ,
3rd , 4th, 5th
o Số lượng chữ số trong token : 1,2,3 hay 4 chữ số, chữ số có đứng đầu
token không, hay không có chữ số nào
• Kiểm tra sự tồn tại của token trong cơ sở dữ liệu từ điển : tên, họ, địa danh,
ngày tháng, tên nhà xuất bản. Cơ sở dữ liệu từ điển đươc cung cấp bởi nhiều chuyên gia trong các lĩnh vực và có thể bổ sung để hoàn thiện.
• Vị trí của token (location) : vị trí của token trong chuỗi tham chiếu. Ví dụ: chuỗi tên tiêu đề thường đứng đầu dòng
• Từ khóa miêu tả lớp : ví dụ: ‘eds’: người biên tập, journal : tập san phát hành ,…
Trước khi có thể sử dụng được những đặc trưng miêu tả trên để thực thi mô hình CRF thì ta cần có bước tiền xử lý : phân đoạn citations thành các đoạn nhỏ chứa
2.3.2 Phân đoạn thông tin tham chiếu ( Citation ) Nhận biết Citations
Mỗi tài liệu có thể có hoặc không vùng lưu thông tin của tài liệu tham khảo.
Vùng lưu thông tin của những tài liệu tham khảo thường bắt đầu bằng những từ khóa thông dụng như : References, Bibliography, Cited, Note, Tài liệu tham khảo, …
Hình 10(b): Dấu hiệu nhận biết tài liệu tham khảo
Trong hình 10(a) và 10(b), dấu hiệu nhận biết phần tài liệu tham khảo bằng từ khóa References và “Tài liệu tham khảo”
Hệ thống sẽ đoán nhận những từ khóa đó và tách file tài liệu thành 2 phần: Phần thông tin tham khảo(CiteText) và nội dung tài liệu(BodyText).
Để tránh nhầm lẫn(từ khóa có thể xuất hiện trong đoạn nội dung) ,hệ thống kiểm tra độ dài của đoạn Citations so với đoạn BodyText (thường nhỏ hơn 40%). Nếu
không thỏa mãn thì hệ thống tự động bỏ qua từ khóa đó.
Một số tài liệu ngoài phần Citations còn có thêm phần phụ lục, các bảng biểu,.. theo sau phần Citations. Những phần này không cung cấp thông tin về tài liệu tham chiếu bài viết nên cần được bỏ qua. Hệ thống sẽ đoán nhận những từ khóa của các phần đó và loại bỏ đi. Một số từ khóa thông dụng hay dùng như tables, appendix,
exhibit, notes, Autobiographical,…
Hình 11: Cấu trúc phần tài liệu tham khảo
Hình 11 thể hiện cấu trúc một phần tài liệu tham khảo. Trong đó mỗi đoạn con chứa thông tin của 1 citation thường được đánh dấu ở đầu đoạn. Một số cách đánh
dấu 1 đoạn citation là:
• Một chuỗi kí tự số hay chữ đươc bao bởi dấu ngoặc:
Ví dụ: [1], (1), [Hanm06],…
• Chuỗi số đánh dấu đơn (nake number) hay đi kèm dấu “.” ví dụ: “1”, “2.”, “3”,…
• Các đoạn phân biệt bằng dấu cách xuống dòng (\n)
Nếu các đoạn không có dấu hiệu đặc biệt để đánh dấu, hệ thống sử dụng một số thuật giải heuristic nhằm xác định dòng bắt đầu hoặc kết thúc 1 citation. Một số
thuật giải được dùng đoán nhận đoạn citation:
• Dòng chứa tên tác giả : đoán nhận là dòng tác giả khi dòng chỉ chứa những
từ là chữ cái, không có chữ số, phân cách các từ bằng dấu “, ;” , kết thúc bằng dấu “.”
• Coi mỗi dòng của phần citations chứa thông tin về 1 tài liệu : mỗi dòng sẽ
phân cách nhau bởi dấu chấm câu “ . “
Mỗi đoạn citation bao gồm thông tin về một tài liệu tham khảo sau khi được phân tách sẽ được hệ thống trích chọn dữ liệu sử dụng đặc trưng miêu tả và mô hình
CRF (được thực thi bằng công cụ CRF++).
2.3.3 Hiệu chỉnh dữ liệu sau khi gán nhãn ( CRF )
Sau khi thực hiện gán nhãn dữ liệu vào các lớp, dữ liệu thường chưa được chuẩn hóa và có thể thừa thông tin không cần thiết. Hệ thống cần hiệu chỉnh để trích lọc những thông tin cần thiết đưa vào các tag. Một số hiệu chỉnh thường dùng :
Tách tên : Chuỗi tên gán vào lớp tên có thể bao gồm nhiều tên tác giả . Hệ thống
sẽ đoán nhận từng cụm tên dựa trên dấu phân cách (dấu , ;) sau đó đưa cụm tên về định dạng chuẩn : ( Họ- Tên đệm – Tên ), không có dấu phân cách đi kèm .
Hiệu chỉnh trường số :hiệu chỉnh một số trường số theo từng loại:
• Thời gian : Trích chọn, chỉ lấy năm xuất bản.
• Số Chương : cụm từ chỉ số chương ví dụ vol.5 được bỏ đi cụm từ “vol”.
• Số trang : ví dụ” pages 666-777” được bỏ đi cụm từ “pages”,… Lọc bỏ phân cách, cách trống trong cụm tin: (, ; . space )
2.3.4 Đưa ra ngữ cảnh tham chiếu
Hình 12 thể hiện một đoạn trong bài viết tham khảo đến tài liệu khác. Những đoạn tham khảo đến thường được đánh dấu theo tài liệu tham khảo tương ứng. Dựa trên những dấu hiệu đánh dấu phần tài liệu tham khảo ([1], (1), 1) hệ thống tìm và trích ra. Đó gọi là ngữ cảnh tham chiếu tài liệu (context).
Một số biểu thức chính quy được xây dựng để đối sánh các dấu hiệu đánh dấu với nội dung tài liệu . Các số bao trong dấu ngoặc vuông [6] [7] đươc ưu tiên là dấu
hiệu nhận biết. Đoạn ngữ cảnh trả về bao gồm dấu hiệu trong phạm vi bán kính được cấu hình tùy theo người phát triển (thường là 200 kí tự liền kề dấu hiệu ) .
Với những phân đoạn tài liệu tham khảo không có dấu hiệu đánh dấu thông dụng ([1],(1),1) thì hệ thống tự động trích chọn lấy ra dấu hiệu cho phân đoạn đó. (Hay dùng là tên tác giả ,tên tài liệu).
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
1. Giới thiệu về CiteSeerX
1.1 Dự án SeerSuite
Có nhiều công cụ được cộng đồng mạng phát triển hỗ trợ cho việc xây dựng hệ thống quản lý tìm kiếm và trích rút thông tin từ tài liệu và SeerSuite là một trong
những bộ công cụ thông dụng được người phát triển sử dụng. Nó là bộ các công cụ
mã nguồn mở được viết bằng Java và được chia sẻ miễn phí tại
http://www.sourgeforge.net. Nó cung cấp một số dịch vụ, kĩ thuật, bộ dữ liệu và
phần mềm ứng dụng hỗ trợ tạo thư viện số quản lý, tìm kiếm tài liệu như
CiteSeerX, ChemXSeer, ArchSeer,…
Mỗi công cụ trong SeerSuite là một dịch vụ, module riêng rẽ có thể thực hiện các tác vụ riêng hay tích hợp vào các ứng dụng khác nhau nhằm tạo ra hệ thống quản lý lớn, hỗ trợ đa tính năng, linh hoạt, hiệu quả. Các công cụ đó một số là kết quả nghiên cứu của giáo sư, giảng viên trường đại học Pennsylvania State University, một số được cộng động mạng phát triển và cung cấp miễn phí.
Để có thể sử dụng và xây dựng cài đặt hệ thống quản lý tìm kiếm tài liệu khoa học dựa trên bộ mã mở SeerSuite yêu cầu người phát triển cần có những hiểu biết, kinh nghiệm về một số phần mềm ứng dụng để cài đặt, cấu hình, xây dựng các thành phần chức năng cho hệ thống.
1.2 Dự án CiteSeer
CiteSeer là một dự án mã nguồn mở, với mục tiêu phát triển một thư viện số về các tài liệu khoa học, bao gồm search engine với khả năng tự động tìm – tải dữ liệu và đánh chỉ mục cho các tài liệu khoa học, đặc biệt là các tài liệu trong lĩnh vực công nghệ thông tin.
Điểm đáng chú ý của CiteSeer chính là Autonomous Citation Indexing – ACI – tập trung vào việc trích rút ra các citation ( trích dẫn ) từ những tài liệu khoa học dựa trên các khuôn mẫu tài liệu đã có. Ngoài ra, CiteSeer tự động tìm kiếm và tải về máy chủ các tài liệu khoa học tồn tại trên mạng. Sau khi một tài liệu mới được tải về, nó sẽ được phân tích nhằm mục đích trích rút ra được các thông tin trích dẫn và các metadata ( siêu dữ liệu – những dữ liệu quan trọng của văn bản ) của tài liệu đấy. Sau đó, tài liệu và các citation được đánh chỉ mục để phục vụ cho việc truy vấn từ phía người sử dụng, thông qua giao diện truy vấn người dùng – web interface.
Từ khi dự án được bắt đầu vào năm 1997 cho đến nay, CiteSeer đã có hơn 730 000 tài liệu với hơn 8 triệu citation. CiteSeer đón nhận hơn 800 000 lượt truy cập mỗi ngày, và được hơn 100 000 thành viên chính thức truy cập mỗi tháng, cũng như
xấp xỉ 30 gigabytes dữ liệu lưu thông mỗi ngày. Tuy nhiên, xuất phát từ nhu cầu ngày càng tăng cao về khả năng của hệ thống và sự giới hạn của kiến trúc hiện tại đã khiến những nhà nghiên cứu và phát triển phải thiết kế một kiến trúc mới đảm bảo cho việc dễ dàng mở rộng lưu trữ và an toàn trong vận hành.
Hình 13: Kiến trúc CiteSeer
Đồng thời, khi nhìn lại mục tiêu đặt ra lúc ban đầu của dự án CiteSeer đó là không chỉ phát triển một thư viện số mà còn cần phải có một nền tảng hệ thống linh hoạt, để có thể phục vụ cho nghiên cứu và phát triển các chức năng mới ( các thuật toán khai phá dữ liệu, tìm kiếm thông tin mới... ). Khi có một nền tảng kiến trúc linh hoạt, các nhà nghiên cứu và phát triển đã dễ dàng khi nghiên cứu và thử nghiệm các thuật toán mới.
Nhưng với kiến trúc hiện tại của CiteSeer là kiến trúc monolithic ( nguyên khối ) đã làm giảm sự thuận tiện trong việc quản trị và sửa chữa cũng như làm tăng chi phí vận hành hệ thống.
1.3 Dự án CiteSeerX
Dựa trên thiết kế mới về dữ liệu, CiteSeerX ra đời nhằm khắc phục những nhược điểm tồn tại trong kiến trúc cũ của CiteSeer, với những đặc tính mới :
Extended Data Models : được phát triển từ cách tiếp cận tài liệu cũ, CiteSeerX
thêm vào author và venue vào trong bản ghi hệ thống. Những bản ghi này sẽ ngang hàng về mặt ý nghĩa với tài liệu, và được liên kết với tài liệu.
Virtual Documents : một ý tưởng rất hay của CiteSeerX. Trên thực tế, có nhiều
tài liệu, ta chỉ biết tới nó thông qua danh sách các trích dẫn hay là danh sách các bài báo. Và như thế, ta không thể tìm thấy những tài liệu đấy trên hệ thống. Điều này dẫn tới khái niệm virtual documents, làm chức năng giữ chỗ cho những tài liệu chưa đầy đủ về nội dung, và cho phép hệ thống cập nhật lại thông tin nếu tìm thấy nội dung đầy đủ của tài liệu.
Hình 14: Virtual Document
Digital Objects : để tăng sự mềm dẻo trong vấn đề xử lý các định dạng file và
các kiểu lưu trữ, ta có khái niệm digital object. Nó khác với các đối tượng lưu trữ vật lý của hệ thống. Thay vì sử dụng trực tiếp đối tượng vật lý và chỉ có một kết nối duy nhất tới đối tượng tại một thời điểm, các digital object sẽ được tạo ra và cho phép nhiều kết nói liên kết tới các object vừa tạo. Các kết nối này chỉ cho phép client read-only đối với tài liệu. Bằng cách này, một nơi lưu trữ - tức là cùng một file tài liệu khoa học - có thể được sử dụng bởi nhiều client cùng một lúc.
Tính tới thời điểm này, CiteSeerX đang có hơn 1,599,903 tài liệu cùng hơn 31,041,147 citations. Không chỉ vậy, nó đã vươn lên đứng thứ 2 trong bảng xếp hạng của Web of World Repositories.
2. Mô hình hệ thống của CiteSeerX
Hình 16: Kiến trúc CiteSeerX
Ta sẽ tìm hiểu tổng quan về kiến trúc mới của CiteSeerX. Kiến trúc mới về cơ bản gồm 3 lớp :
Storage Layer : đảm nhận việc quản lý và điều khiển truy cập tới các đối tượng
lưu trữ dữ liệu trên máy chủ lưu trữ. Những đối tượng này được quản lý bởi hệ thống quản lý đối tượng số. Mỗi đối tượng số đi kèm theo nó một file mô tả các metadata của đối tượng. nhằm tăng hiệu năng, phần lớn dữ liệu được lấy ra từ các đối tượng ( ví dụ citation graph ) sẽ được lưu trong cơ sở dữ liệu để tăng tốc độ truy cập. Còn các tài liệu đã được phân tích, sẽ được lưu ở ổ cứng dưới dạng thô, và được liên kết với các bản ghi đối tượng.
Application Layer : là tập hợp của module và server trong CiteSeerX
Naming Server : điểm nổi bật trong kiến trúc phân tán của CiteSeerX cho phép tăng hiệu năng của hệ thống bằng cách liên kết nhiều máy chủ trên mạng lại với nhau. Một naming server sẽ đảm nhiệm việc phân phối yêu cầu tới máy chủ thích hợp, để tránh tình trạng quá tải ở một số máy chủ.
Logging Server : tận dụng các logging service riêng lẽ để gom lại và quản lý các
file log. Logging Server là nơi tạo ra và lưu trữ các file log. Mỗi module đang làm việc đều có 1 logging agent làm nhiệm vụ gửi các sự kiện tới logging server.
Crawling Server : crawl dữ liệu về nơi chứa tài liệu đã được quy định trước.
Những tài liệu được xác định thuộc lĩnh vực công nghệ thông tin sẽ được chuyển sang cho Storage Access and Management Interface để chuyển vào máy chủ lưu trữ.
Storage Access and Management Interface : cung cấp giao diện liên kết tới máy
chủ lưu trữ để thực hiện nhiều mục đích. Đầu tiên, để có thể truy nhập ngay lập tức tới máy chủ lưu trữ, nó cung cấp một chuẩn mặc định cho các phương thức cần truy nhập vào máy chủ lưu trữ. Bên cạnh đó, một bộ điều khiển sẽ điều khiển việc truy cập đến nơi lưu trữ thông tin. Cuối cùng, nó đảm nhận vai trò như là một bộ định nghĩa và trả về địa chỉ của các máy chủ lưu trữ, cung cấp một cơ chế mềm dẻo để nâng cấp, cân bằng tải, và bảo trì hệ thống dữ liệu.
Application Servers : cung cấp một giao diện web cho phép người dùng có thể
truy cập tới các module của hệ thống, cũng như các module của nhà cung cấp thứ 3.
User Interface Layer : cung cấp một lớp trừu tượng, đóng vai trò như một web
interface của CiteSeerX và nằm giữa user interface và các application module. Bằng cách này, chúng ta có nhiều giải pháp cho việc cập nhật các thuật toán mới mà không cần băn khoăn tới việc tương thích giữa giao diện người dùng với các trang cá nhân hóa của người dùng.
Bên cạnh các đề xuất về kiến trúc mới, CiteSeerX tiếp tục nâng cấp các dịch vụ đã có để tăng hiệu quả và tính thân thiện với người sử dụng. Các dịch vụ mới đang được tích hợp vào hệ thống :
CiteSeer – Specific Services : những dịch vụ giá trị gia tăng, góp phần tăng