Bao Cao Khoa Luan

37
MỞ ĐẦU LỜI CẢM ƠN. Đầu tiên, tôi xin gửi lời cảm ơn chân thành đến thầy ThS Huỳnh Ngọc Tín đã giúp đỡ và giới thiệu tôi thực tập tại Công ty Outsourceit Vietnam. Không những thế, trong quá trình thực tập thầy đã chỉ bảo và hướng dẫn tận tình cho tôi những kiến thức lý thuyết, cũng như các kỹ năng trong lập trình, cách giải quyết vấn đề, đặt câu hỏi … Thầy luôn là người truyền động lực trong tôi, giúp tôi hoàn thành tốt giai đoạn thực tập tốt nghiệp. Cho phép tôi gửi lời cảm ơn sâu sắc đến Công ty Outsourceit Vietnam đã tạo mọi điều kiện thuận lợi giúp tôi cũng như các sinh viên khác hoàn thành giai đoạn thực tập tốt nghiệp. Chân thành cảm ơn đến các bạn trong nhóm thực tập đã hỗ trợ để tôi có thể hoàn thành tốt công việc được giao. Tôi xin chân thành biết ơn sự tận tình dạy dỗ của tất cả các quý thầy cô Khoa Công nghệ phần mềm – Trường Đại học Công Nghệ Thông Tin – Đại học Quốc gia TPHCM. GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

Transcript of Bao Cao Khoa Luan

MỞ ĐẦU

LỜI CẢM ƠN.Đầu tiên, tôi xin gửi lời cảm ơn chân thành đến thầy

ThS Huỳnh Ngọc Tín đã giúp đỡ và giới thiệu tôi thực tập

tại Công ty Outsourceit Vietnam. Không những thế, trong

quá trình thực tập thầy đã chỉ bảo và hướng dẫn tận tình

cho tôi những kiến thức lý thuyết, cũng như các kỹ năng

trong lập trình, cách giải quyết vấn đề, đặt câu hỏi …

Thầy luôn là người truyền động lực trong tôi, giúp tôi

hoàn thành tốt giai đoạn thực tập tốt nghiệp.

Cho phép tôi gửi lời cảm ơn sâu sắc đến Công ty

Outsourceit Vietnam đã tạo mọi điều kiện thuận lợi giúp

tôi cũng như các sinh viên khác hoàn thành giai đoạn thực

tập tốt nghiệp.

Chân thành cảm ơn đến các bạn trong nhóm thực tập đã

hỗ trợ để tôi có thể hoàn thành tốt công việc được giao.

Tôi xin chân thành biết ơn sự tận tình dạy dỗ của tất

cả các quý thầy cô Khoa Công nghệ phần mềm – Trường Đại

học Công Nghệ Thông Tin – Đại học Quốc gia TPHCM.

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

Lời cảm ơn chân thành và sâu sắc, tôi xin gửi đến gia

đình, đã luôn sát cánh và động viên tôi trong những giai

đoạn khó khăn nhất.

TP Hồ Chí Minh, ngày tháng

năm

Sinh viên

Võ Đinh Duy

Huỳnh Minh Đức

NHẬN XÉT

(Của cơ quan thực tập)

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

NHẬN XÉT

(Của giảng viên hướng dẫn)

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

NHẬN XÉT

(Của giảng viên phản biện)

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

MỤC LỤC.

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH

BẢNG 1.1

SƠ ĐỒ 1.1

HÌNH 1.1

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 1 -

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI KHÓA LUẬN.

1.1 ĐẶT VẤN ĐỀ.

Bài báo khoa học (paper) là kết quả công bố của cả mộtquá trình nghiên cứu miệt mài của các nhà khoa học. Nộidung các bài báo đề cập đến vấn đề mà nhà khoa học thamgia nghiên cứu, cách tiếp cận và giải quyết vấn đề đó. Nóđược công bố ở các tạp chí hay các hội nghị khoa học. Cácbài báo ấy sẽ làm tài liệu nghiên cứu và đánh giá cho cácnghiên cứu tiếp tục sau này.

Cùng với sự phát triển của khoa học kỹ thuật, số lượngcác công trình nghiên cứu khoa học ngày càng nhiều, thôngqua đó số lượng các bài báo cũng tăng lên nhanh chóng.Điều đó gây khó khăn cho các nhà nghiên cứu trong việc tìmkiếm các bài báo liên quan đến vấn đề mình cần. Nhưng vớisự trợ giúp của những công cụ tìm kiếm trực tuyến nhưGoogle, Yahoo!, Bing … nhà nghiên cứu có thể tìm kiếm đượckhá đầy đủ và nhanh chóng những tài liệu mà họ cần. Tuynhiên, số lượng kết quả trả về của những công cụ nàythường khá lớn, độ chính xác phụ thuộc nhiều vào mức độ cụthể của từ khóa tìm kiếm; điều đó đã phần nào gây khó khăntrong việc tìm kiếm chính xác những tài liệu cần đến.

Do đó, đã nảy sinh ra một vấn đề nghiên cứu mới cần giải quyết là tổ chức lại các tài liệu khoa học thành một hệ thống nhằm hỗ trợ cho việc tìm kiếm nhanh những tài liệu liên quan. Để có thể sắp xếp và tổ chức tốt thông tindữ liệu, chúng ta cần phải rút trích những thông tin cần

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 2 -

thiết từ những tài liệu đó. Quá trình rút trích nhằm lấy ra những tri thức, những thông tin metadata của tài liệu. Từ đó, các tài liệu có thể được tìm kiếm dễ dàng nhanh chóng, có định hướng rõ ràng cho quá trình tìm kiếm.

1.2 KHẢO SÁT CÁC NGHIÊN CỨU LIÊN QUAN.

(nhận xét về các pp nc: dữ liệu, phương pháp, độchính xác, đã giải quyết cái gì , cái gì chưa giảiquyết dc)

Theo [1], hiện nay chúng ta có hai cách tiếp cận chínhtrong vấn đề rút trích thông tin đó là: phương pháp máyhọc và những phương pháp khác dựa trên luật kết hợp vớicác tập từ điển và ontology.

Trong bái báo [Automatic Document Metadata], các tác giảđã đề xuất phương pháp dùng thuật toán phân lớp SVM(Support Vector Machine) để rút trích thông tin metadatatrong phần đầu (header) của bài báo khoa học. Những thôngtin metadata bao gồm: tên bài báo, tên tác giả, nơi côngtác, địa chỉ, chú thích, thư điện tử, ngày xuất bản, phầntóm tắt, giới thiệu, số điện thoại, khóa chính, địa chỉweb, số trang, số xuất bản. Đầu tiên, tác giả thực hiệnviệc phân lớp các dòng vào một hoặc nhiều trong số 15 lớpthông tin metadata. Để làm được điều đó, họ tiến hành rút23 đặc trưng từ và 15 đặc trưng dòng với sự trợ giúp củacác bộ từ điển (như họ và tên người, tên các thành phố,tiểu bang của Mỹ và Canada, tên các quốc gia, tên tháng vàchữ viết tắt của nó), danh sách các từ (word list) đượcthống kê trong tập huấn luyện. Trong bước này, việc phânlớp dòng được thực hiện theo nguyên tắc: một dòng được gán

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 3 -

nhãn là lớp C (một trong 15 lớp metadata) khi trong dòngcó chứa các từ thuộc lớp C. Vì thế trong giai đoạn này,một dòng có thể được gán cho nhiều lớp. Sau khi đã phânlớp dòng, họ sử dụng kết quả của bước trên để tiến hànhphân lớp theo ngữ cảnh. Thông tin ngữ cảnh được sử dụng làtên nhãn của 5 dòng trước và sau dòng hiện tại. Nhữngthông tin ấy sẽ được dùng trong một quy trình lặp, liêntục gán nhãn các dòng cho đến khi phần trăm các dòng đượcgán nhãn lại so với tổng các dòng trong quá trình phân lớplà 0.7%. Tiếp đó, họ thực hiện việc rút các thông tinmetadata trong các dòng được gán nhiều nhãn, cũng như rúttên các tác giả nằm tại nhiều dòng khác nhau. Họ sử dụngcùng một tập huấn luyện và kiểm thử với các phương phápkhác, nhằm so sánh tốt hơn về độ chính xác trong cách tiếpcận của họ. Tập dữ liệu chứa 935 header của các bài báonghiên cứu về khoa học máy tính, trong đó 500 header thuộctập huấn luyện, còn lại 435 header thuộc tập kiểm thử. Cácheader này là các đoạn văn bản được chuyển đổi từ tập tinpdf và ps. Độ chính xác của phương pháp này đạt 92.9%, tốthơn phương pháp HMM (Hidden Markov Model). Bài báo đã thựchiện được việc rút thông tin metadata trong header của cácbài báo khoa học với độ chính xác khá cao, là một tài liệutham khảo quan trọng cho các nghiên cứu sau này. Nhưng bàibáo này chưa đề cập đến vấn đề rút trích thông tin thamkhảo (reference) trong các bài báo. Các thông tin thamkhảo cũng đóng vài trò quan trọng cho việc chỉ mục, kếtnối các bài báo khoa học với nhau.

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 4 -

Hình 1: Tổng quan về mô đun huấn luyện về phân lớp dòng.

Ngoài phương pháp SVM, phương pháp máy học sử dụng CRF (Conditional Random Fields) cũng cho kết quả thực nghiệm khá tốt. CRF là mô hình chuỗi các xác suất có điều kiện, được huấn luyện để tối đa hóa xác suất điều kiện. Nólà một khung (framework) cho phép xây dựng những mô hình xác suất để phân đoạn và gán nhãn chuỗi dữ liệu [John Lafferty, Andrew McCallum, Fernando Pereira. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data. 2001.]. Trong bài báo [Accurate Information Extraction], các tác giả đã sử dụng CRF để rút trích thông tin metadata trong 2

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 5 -

tập dữ liệu: một tập chứa header và một tập chứa phần thamkhảo (reference) của các bài báo khoa học. Họ đã tiến hànhthử nghiệm trên các thông số, cũng như các đặc trưng (từ, layout trình bày, từ vựng) khác nhau để có thể nâng cao độchính xác của thuật toán CRF. Qua thực nghiệm trên tập chứa header, CRF có kết quả chính xác là 98.3%, cao hơn cảSVM (92.9%) và HMM (93.1%). Điều này cũng tương tự đối vớitập chứa nội dung tham khảo, CRF có độ chính xác 95.7%, HMM là 85.1%.

Ngoài ra tác giả Jie Zou cùng các đồng sự [locating]đã đề ra phương pháp rút trích các thông tin trong phầntham khảo (reference) của các bài báo y khoa dưới địnhdạng HTML như tên tác giả, tên bài báo, tên tập chí, ngàyxuất bản và những thành phần khác. Họ dùng thuật toán máyhọc thống kê để xác định các vùng reference trong bái báoy khoa dưới định dạng HTML, sau đó sẽ phân tích để xácđịnh các thành phần trong reference. Chi tiết hai bước xửlý trong phương pháp của họ như sau:

Reference locating: giai đoạn này sẽ xác định vùngtham khảo trong bài báo và sau đó phân nó thành từngdòng tham khảo độc lập. Các bước thực hiện:

o Biểu diễn bài báo dưới dạng mã HTML, sau đó tạocây HTML DOM (Document Object Model) dựa trênnhững tag HTML đó.

o Tác giả phân các tag HTML thành 2 loại: Line-break tags (những tag đánh dấu việc phân đoạn như<P>, <TABLE>, <DIV>, <H1>, <BR>) và Inline tags(những tag không là Line-break tags). Tác giả gomnhóm những nút DOM là inline liên tiếp nhau để

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 6 -

tạo thành zone tree. Mỗi zone tree chứa các nút DOMinline liên tiếp nhau và một nút line-break. Saukhi đã xác định các zone tree, tác giả tiến hànhloại bỏ các tag HTML, để có thể tiến hành cácbước sau.

o Tiến hành rút trích các đặc trưng, bao gồm 59 đặctrưng về hình học (geometric) và văn bản (text).9 đặc trưng đầu được tác giả xác định rõ (như: sốlượng từ trong vùng đó, số lượng từ chỉ có 1 chữcái và được viết hoa, số lượng từ chỉ có 2 chữcái và được viết hoa…). 50 đặc trưng còn lại làcác giá trị nhị phân, chỉ ra một từ nào đó cóxuất hiện trong zone tree không. Để xác định 50từ này, tác giả dùng công thức độ đo GSS (?) đểtính giá trị các từ, từ đó sắp xếp theo chiều từcao đến thấp và lấy 50 từ có giá trị cao nhất.

o Sau đó sử dụng thư viện LibSVM để phân thành 2lớp: Reference zone và Non-reference zone. Bộphân lớp SVM sẽ gán cho mỗi zone tree một giá trịxác suất.

o Thực hiện vòng lặp heuristic thông qua 3 bước đểgán nhãn vùng reference:

Tìm kiếm một parent zone node, giống với cácreference con nhất (xác suất của vùngreference phải lớn hơn 0.5)

Tìm vị trí của vùng reference đầu tiên vàcuối cùng phù hợp nhất.

Gán nhãn tất cả vùng reference liên tục nằmgiữa vùng reference đầu tiên và cuối cùng.

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 7 -

Reference parsing: tác giả sử dụng cả hai phương phápmáy học là CRF và SVM để tiến hành phân tíchreference. Sau đó so sánh hai phương pháp.

o Dùng CRF: Xây dựng tập từ điển: tên tác giả, tên bài

báo, tên tập chí từ dữ liệu 10 năm củaMEDLINE. Bao gồm: 236748 tên tác giả, 108484tiêu đề bài báo, 6909 tiêu đề tập chí.

Tiến hành rút trích đặc trưng, bao gồm 14đặc trưng đã được quy định sẳn. Tất cả cácđặc trưng đều là giá trị nhị phân. 3 đặctrưng đầu là đặc trưng về tên tác giả, tiêuđể bài báo, tiêu đề tập chí được xác địnhthông qua từ điển đã được biên soạn ở trên.

Dùng MALLET - thư viện máy học JAVA đượcphát triển bởi McCallum và các đồng nghiệp,để hiện thực thuật toán phân tích referencethông qua CRF.

o Dùng SVM: SVM sẽ thực hiện việc phân loại từng từvào 8 lớp đã được quy định sẳn (Citation Number,Author Names, Article Title, Journal Title,Volume, Pagination, Publication Year, Other). SVMsử dụng 15 đặc trưng để thực hiện việc phân lớp.14 đặc trưng đầu giống với CRF, đặc trưng thứ 15là chuẩn hóa vị trí (normalized position) đượctính bằng tỷ số giữa vị trí từ đó với tổng số từtrong reference đó. Sau khi thực hiện bước này,tác giả sẽ kiểm tra tính đúng đắn của việc gánnhãn cho từ thông qua một tập các luật heuristic.Nếu việc gán nhãn ấy không phù hợp với bất cứ

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 8 -

luật nào, thì thuật toán tìm kiếm sẽ được sử dụngđể tìm ra một nhãn thích hợp nhất với xác suấtcao nhất.

Tập dữ liệu họ sử dụng là các bài báo được lấy từ thưviện MEDLINE (của U.S National Library of Medicine). Họ sửdụng hai tập dữ liệu khác nhau cho hai bước xử lý trongphương pháp của họ. 1000 bài báo từ 100 tập chí (500 bàibáo được dùng cho huấn luyện, 500 bài báo được dùng đểkiểm thử) cho bước xử lý Reference Locating. 2400reference từ 1000 bài báo (600 reference từ 500 bài báođược dủng cho huấn luyện, 1800 reference từ 500 bài báođược dùng cho kiểm thử). Độ chính xác tổng quát trong haithuật toán xử lý reference là trên 99% đối với mức từ,trên 97% đối với mức nhóm từ (chunk).

Đối với phương pháp sử dụng luật kết hợp với từ điển vàontology thì có nhiều cách tiếp cận khác nhau. Như trongtài liệu [9], tác giả đã đưa ra gợi ý về phương pháp rúttrích thông tin luận lý (như tiêu đề, tác giả, các địnhnghĩa, bổ đề …) từ các bài báo toán học, từ đó xây dựngmột trình duyệt tri thức giúp người dùng dễ dàng đọc tàiliệu toán học. Những thông tin metadata được rút ra thôngqua thuật toán rút trích luận lý, bao gồm hai giaiđoạn. Đầu tiên, từ một tài liệu toán học ban đầu (chưađược số hóa), thông qua hệ thống OCR (Optical CharacterRecognition) nó sẽ được chuyển thành các hình ảnh bitmap.Kết hợp với hệ thống INFTY, các ảnh này sẽ được chuyểnsang các định dạng khác nhau như: XML (được gọi là KML), HTML,LATEX, Mathematica. Tác giả tiến hành phân đoạn văn bản (dựatrên các dấu hiệu như: khoảng trắng, kiểu chữ, từ khóa) để

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 9 -

xác định các heading, footnote, số trang, running header.Sau đó tiến hành gán các nhãn metadata phù hợp cho từngđoạn văn bản dựa trên cách trình bày layout, vị trí vàthông tin kiểu chữ. Việc nhận dạng những thành phần trênchủ yếu dựa vào kinh nghiệm quan sát cấu trúc trình bàycác bài báo toán học. Họ đánh giá trên tập dữ liệu gồm 29bài báo toán học bằng tiếng Anh (422 trang, 706297 ký tự),được xuất bản trong khoảng những năm 1970 – 2000. Kết quảkiểm chứng của phương pháp này đạt tỷ lệ chính xác khá caolà 93,1%. Hay trong tài liệu [5], tác giả đề ra phươngpháp làm giàu ontology Artist bằng cách rút trích nhữngthông tin liên quan đến các nghệ sĩ như: ngày sinh, nơisinh, nơi làm việc, ngày lập gia đình, tiểu sử; từ nhữngkết quả tìm kiếm trên internet. Để làm được điều này họ đãsử dụng kết hợp GATE (để nhận biết các địa điểm, tênngười, ngày tháng) với ontology Artequakt nhằm để xác địnhmối quan hệ giữa các thực thể mà GATE đã xác định được.

Ngoài ra còn có những công cụ đã được nghiên cứu và xâydựng để hỗ trợ việc rút trích tự động không những là thôngtin metadata mà còn những thông tin tri thức khác. Công cụBiblio [8] giúp phân tích những bài báo nghiên cứu ở địnhdạng điện tử nhằm rút trích tự động những thông tin hỗ trợcho các tác giả tìm kiếm những thông tin liên quan đến kếtquả bài báo mình cần công bố. Công cụ này còn giúp chongười dùng tập trung vào những thông tin tri thức quantrọng trong bài báo như vấn đề trình bày của bài báo làgì, đóng góp chính của bài báo, công việc sắp tới, mụctiêu. Các tác giả sử dụng tập dữ liệu đánh giá gồm 60 bàibáo khoa học máy tính được xuất bản ở những năm, các sựkiện khác nhau, có các khuôn mẫu trình bày khác nhau. Mức

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 10 -

độ chính xác của các thông tin được rút ra bằng Biblio khácao từ 91% -> 100% tùy theo từng loại thông tin.

Hình 2: Giao diện của công cụ Biblio.

Min-Yuh Day cùng các đồng sự [A knowledge-based] đã sửdụng công cụ INFOMAP, công cụ biểu diễn tri thức dựa trênontology, để thực hiện rút trích các thông tin như: têntác giả, tiêu đề, tạp chí, chương, năm xuất bản, số trangtừ các kiểu định dạng tham khảo (reference) khác nhau(BIOI, ACM, IEEE, APA, JCB, MISQ). Họ đã thu thập 907 bảnghi (record) thông tin tham khảo từ thư viện số PubMed.Các thông tin tham khảo thuộc một trong 6 kiểu định dạngtham khảo bên trên. Sau đó, họ lựa chọn ngẫu nhiên 500 bảnghi để thực hiện kiểm thử. Kết quả chính xác của cách tiếpcận này là 97.87%. Trong tương lai, họ dự định sẽ tích hợp

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 11 -

cả hai phương pháp: ontology và máy học với nhau để nângcao độ chính xác của việc rút thông tin tham khảo, cũngnhư xây dựng các khuôn mẫu (prototype) tốt hơn để xử lýcác kiểu định dạng tham khảo tự do, không theo bất kỳ địnhdạng nào.

1.3 MỤC TIÊU ĐỀ TÀI.

Rút trích những thông tin metadata của các tài liệukhoa học, bao gồm: tiêu đề, tác giả, nơi công tác,email, tóm tắt, các tài liệu tham khảo, chủ đề.

Nghiên cứu sẽ tập trung vào các phương pháp để thựchiện việc rút trích các bài báo khoa học (paper) dướiđịnh dạng là tập tin PDF, được tải về từ trangCiteSeerX (http://citeseerx.ist.psu.edu).

Đánh giá so sánh kết quả trên cùng một tập dữ liệu, phân tích ưu thế và nhược điểm của từng phương pháp.

1.4 PHẠM VI ĐỀ TÀI.

Đối tượng dữ liệu của đề tài là các bài báo khoa họcvà có các định dạng phổ biến như pdf, doc.

Tập trung vào những phương pháp rút trích metadatahiện nay:

o Luật: Dựa trên GATE Framework.

o Máy học: tập trung vào phương pháp SVM.

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 12 -

1.5 PHƯƠNG PHÁP VÀ NỘI DUNG THỰC HIỆN.

Đặc tả hệ thống:

o Hệ thống được xây dựng nhằm thực hiện việc rúttrích thông tin metadata dựa trên hai phương pháplà máy học (SVM và CRF) và tập luật (dựa trênGATE Framework).

o Dữ liệu đầu vào của hệ thống là các bài báo khoahọc dưới định dạng là các file pdf, doc

o Đầu ra là những thông tin metadata, có thể đượclưu trữ dưới dạng file xml, hoặc lưu trữ thông cơsở dữ liệu database.

o Chương trình còn cho phép người dùng chỉnh sửathông tin rút trích trước khi xuất ra.

Cách tiếp cận: sử dụng cả hai phương pháp: máy học vàtập luật.

1.6 KẾT QUẢ DỰ KIẾN.

Xây dựng thành công công cụ rút trích thông tinmetadata từ các bài báo khoa học.

Kết quả của việc rút trích phải đạt độ chính xác từ90% trở lên.

Hoàn thành báo cáo khóa luận tốt nghiệp với nội dung đầy đủ và chính xác.

1.7 BỐ CỤC BÁO CÁO.

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 13 -

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT.

2.1. PHƯƠNG PHÁP LUẬT.

2.1.1. LUẬT NGỮ PHÁP JAPE.

2.1.1.1. GIỚI THIỆU VỀ JAPE.JAPE (Java Annotation Patterns Engine) là một thành

phần của GATE, dùng để nhận biết các thực thể được định nghĩa trước thông qua các luật, là ngôn ngữ dùng để viết biểu thức đặc tả (RE – Regular expression) thông qua chú thích [4].

2.1.1.2. LUẬT JAPE.Ngữ pháp JAPE bao gồm một tập các phase, mỗi phase có

thể chứa nhiều luật tương đương với định dạng các pattern

khác nhau. Luật JAPE luôn luôn bao gồm 2 vế: trái (Left)

và phải (Right). Vế trái của luật chứa những mô tả về

pattern. Chúng có thể chứa các toán tử regular expression

(như: *, ?, +). Vế phải bao gồm các chú thích do ta tự

định nghĩa, chúng chứa thông tin về tên nhãn. Ngoài ra vế

phải có thể chứa mã code Java để tạo hoặc chỉnh sửa các

chú thích.

Sau đây là một ví dụ đơn giản:

1. Phase: Jobtitle  

2. Input: Lookup  

3. Options: control = brill

4.

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 14 -

5. Rule: Jobtitle1  

6. (  

7. {Lookup.majorType == jobtitle}  

8. )  

9. :jobtitle  

10. -->  

11. :jobtitle.JobTitle = {rule = "Jobtitle"}

Vế trái được cách biệt với vế phải thông quan dấu “--

>”. Trong ví dụ trên, chúng ta khai báo một luật tên là

“Jobtitle”. Mục đích là để gán nhãn những từ mà trước đó

đã được gán nhãn là “Lookup” (nhãn “Lookup” được gán thông

qua quá trình xử lý Gazetteer), với đặc tính “majorType”

là “jobtitle” thành một nhãn mới tên là “JobTitle”

Dòng 1 “Phase: Jobtitle”: như đã nói trên ngữ pháp

JAPE bao gồm một tập các phase, trong từng phase có

thể chứa nhiều luật khác nhau, tương ứng với nhiều

pattern khác nhau. Tên của từng phase là duy nhất,

không được lặp lại. Ở đây ta đặt tên cho phase này là

“Jobtitle”. Tên của phase không cần phải nhất thiết

giống tên của file chứa phase. Ví dụ phase “Jobtitle”

có thể được đặt trong file idrs_jobTitle.jape

Dòng 2 “Input: Lookup”: đối số đầu vào của phase là

“Lookup”. Các đối số này phải được khai báo ở đầu mỗi

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 15 -

phase. Nếu nó không được khai báo thì đối số mặc định

sẽ là “Token”, “SpaceToken”, “Lookup”. Chúng ta chỉ

nên khai báo những đối số đầu vào nào cần thiết dùng

tới, khi khai báo nhiều sẽ làm chậm đi tốc độ xử lý

của luật.

Dòng 3 “Options: control = brill”: tùy chọn option có

thể là

o Control: khai báo cách thức so khớp luật. Có 5

tùy chọn {brill, all, first, once, appelt}.

o Debug: khi được xét là true, nếu luật đang xét ở

chế độ appelt, thì những xung đột trong quá trình

gán nhãn sẽ được trình bày qua cửa sổ message

Dòng 5 “Rule: Jobtitle1 ”: tên của luật là

“Jobtitle1”

Dòng 6, 7, 8, 9: là một pattern, nó định nghĩa là một

từ hay một ngữ nào đó được gán nhãn là “Lookup” có

giá trị đặc tính “majorType” là “jobtitle” thì sẽ

được gán nhãn phụ là “jobtitle”. Nhãn phụ này sau đó

sẽ được sử dụng bên vế phải. Các nhãn phụ không được

trùng nhau trong cùng một rule.

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 16 -

Dòng 10 ”-->”: là dấu hiệu ngăn cách giữa vế trái và

vế phải.

Dòng 11 “:jobtitle.JobTitle = {rule = "JobTitle1"}”: dòng này ta sẽ gán nhãn chính thức cho một từ hay mộtngữ mà có nhãn phụ là “jobtitle” và có luật là “JobTitle1”.

2.1.1.3. ĐỘ ƯU TIÊN TRONG JAPE.Như đã nói trên, JAPE cung cấp 5 tùy chọn option đó

là: brill, all, first, once, appelt. Các tùy chọn này đượckhai báo ở đầu mỗi phase.

2.1.1.3.1. BRILL.Khi có nhiều hơn một luật trong cùng một vùng của tài

liệu, thì tất cả các luật này sẽ được chọn. Vì thế một

vùng của tài liệu có thể được gán nhãn bằng nhiều tên khác

nhau, nên đối số “Priority” lúc này là không cần thiết.

Brill sẽ thực thi tất cả các luật phù hợp. Các luật này sẽ gán nhãn cho một vùng tài liệu phù hợp với luật mà có độ lớn dài nhất.

2.1.1.3.2. ALL.Chế độ All cũng tương tự giống với Brill, nó cũng sẽ

thực thi tất cả các luật nào phù hợp, nhưng chế độ so khớp

vẫn tiếp tục thực thi từ một vùng tài liệu đã được gán

nhãn, thông qua luật này, trước đó.

Ví dụ: aaabbb

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 17 -

Khi áp dụng chế độ All thì ví dụ trên sẽ được gán

nhãn như sau: [aaa[bbb]]. Vì aaabbb và bbb cùng so khớp

phù hợp với luật. Nếu chúng ta áp dụng luật Brill vào ví

dụ này thì nó sẽ được gán nhãn như sau [aaabbb].

2.1.1.3.3. FIRST.Chế độ này sẽ lựa chọn luật phù hợp đầu tiên để gán

nhãn. Khi một luật đã được chọn, thì chế độ này sẽ không cố gắng so khớp để có thể tìm ra vùng tài liệu phù hợp dàihơn.

2.1.1.3.4. ONCE.Chế độ này sẽ lựa chọn luật phù hợp thứ hai sau luật

phù hợp thứ nhất.

2.1.1.3.5. APPELT.Với chế độ này thì chỉ có một luật được chọn cho một

vùng của tài liệu, tùy theo độ ưu tiên của tập luật. Độ ưu

tiên sẽ được chọn theo các tiêu chí sau:

1. Tất cả các luật phù hợp với một vùng của văn bản ngay

tại điểm bắt đầu, thì luật tương ứng với vùng dài

nhất sẽ được chọn.

2. Nếu có nhiều luật cùng phù hợp cho một vùng tài liệu,

thì luật có độ ưu tiên cao nhất sẽ được chọn.

3. Nếu có nhiều luật cùng có độ ưu tiên, thì luật nào

được định nghĩa trước nhất sẽ được chọn.

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 18 -

4. Nếu tất cả những độ ưu tiên trên đều bằng nhau thì

JAPE sẽ chọn luật một cách ngẫu nhiên.

Đối số độ ưu tiên “Priority” được khai báo kèm theo mỗi luật. Nó là một con số nguyên dương; giá trị của đối số càng lớn thì có độ ưu tiên càng cao. Khi một luật khôngđược khai báo đối số này, thì sẽ có giá trị mặc định là -1(giá trị thấp nhất).

2.1.1.4. VẾ TRÁI (LEFT-HAND SIDE).Vế trái của ngữ pháp JAPE cho phép ta xây dựng các

pattern để so khớp, tìm ra những vùng phù hợp trong tài liệu. Một pattern có thể được định nghĩa để so khớp với một chuỗi cụ thể nào đó trong tài liệu, hay có thể so khớpvới những vùng tài liệu đã được gán nhãn trước đó. Ngoài ra JAPE còn cung cấp những toán tử nhằm cho phép định nghĩa các pattern một cách uyển chuyển; cho phép khai báo các MACRO để sử dụng lại các pattern đã được định nghĩa trước đó.

2.1.1.4.1. SO KHỚP VỚI CHUỖI KÝ TỰ.Phase: UrlPre  

Input: Token SpaceToken  

Options: control = appelt  

 

Rule: Urlpre  

(

(({Token.string == "http"} |  {Token.string == "ftp"})  

  {Token.string == ":"}  

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 19 -

  {Token.string == "/"}  

  {Token.string == "/"}  )

|  

( {Token.string == "www"}  

{Token.string == "."}  )  

): urlpre  

-->  

:urlpre.UrlPre = {rule = "UrlPre"}

Luật trên định nghĩa một pattern cho phép nhận dạngtiền tố Url như http://, ftp:// hay www. Quan sát ví dụ tathấy loại chú thích (Annotation) Token và đặc tính stringcủa nó đã được sử dụng đến. Đặc tính string cho phép lấyra chuỗi ký tự của Token. Dùng toán tử “= =”để so sánhchuỗi ký tự trong Token với một chuỗi ký tự cụ thể nào đó.Ví dụ trên cho ta thấy một pattern có thể được định nghĩađể so khớp với những chuỗi ký tự cụ thể nào đó. Nếu chuỗiký tự ấy xuật hiện trong tài liệu, thì nó sẽ được gán mộtnhãn thích hợp.

2.1.1.4.2. SO KHỚP VỚI NHỮNG LOẠI CHÚ THÍCH KHÁC (ANNOTATION TYPES).

Ngoài khả năng so khớp với những chuỗi ký tự cụ thể,

luật ngữ pháp JAPE còn cho phép so khớp với những loại

chú thích khác, đã được xử lý gán nhãn, trong các module

trước đó như: gazetteer, tokeniser, hoặc các module khác.

Rule: Known  

Priority: 100  

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 20 -

(  

 {Location}|  

 {Person}|  

 {Date}|  

 {Organization}|  

 {Address}|  

 {Money} |  

 {Percent}|  

 {Token.string == "Dear"}|  

 {JobTitle}|  

 {Lookup}  

):known  

-->  

{}

Ví dụ trên cho thấy ta có thể sử dụng kết hợp cácloại so khớp cùng với nhau. Mỗi loại chú thích (AnnotationType) có những đặc tính khác nhau, vì thế chúng ta có thểtận dụng những đặc tính này để định nghĩa các pattern mộtcác linh hoạt hơn.

Tên loại

chú thích

(Annotatio

n Type)

Đặc tính Giải thích Các giá trị

Token category Tên từ loại của

Token

NN (Danh từ)

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 21 -

NNP (Ngữ danh từ)

JJ (Tính từ)

DT (mạo từ)

….

kind Loại của Token word (từ)

number (số)

punctuation (dấu

câu)

symbol (ký tự)

length Số lượng ký tự có

trong Token

Là một số nguyên

dương (>=1).

orth Cho biết trạng

thái các ký tự

trong Token là

viết hoa hay viết

thường.

upperInitial (chữ

cái đầu viết hoa,

các chữ còn lại

thì không).

allCaps (tất cả

các ký tự đều

viết hoa).

lowercase (tất cả

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 22 -

các ký tự đều

viết thường).

mixedCaps (có cả

ký tự viết hoa và

viết thường trong

chuỗi Token)

string Chuỗi ký tự của

Token

Chuỗi ký tự

String

position Đặc tính này chỉ

xuất hiện khi

Token là dấu câu

“(”,“)”,“[”,“]”,

startpunct

endpunnct

Lookup majorTyp

e

Loại nhãn chính person_first

org_base

org_key

minorTyp

e

Loại nhãn phụ Một Lookup có đặc

tính majorType là

person_first, thì

minorType của nó

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 23 -

có thể là female

hoặc male.

SpaceToken kind Loại của

SpaceToken

Space (khoảng

trắng trong một

dòng)

Control (khoảng

trắng xuống dòng)

length Chiều dài

SpaceToken

Là một số nguyên

dương (>=1).

Split kind Loại của Split internal (dấu

chấm hết câu)

external (dấu

xuống dòng)

Bảng 3: Các đặc tính của một vài loại chú thích.

2.1.1.4.3. MACRO.Macro cho phép chúng ta tạo ra những pattern mà có

thể sử dụng lại nhiều lần trong luật JAPE.

Phase: Number  

Input: Token Lookup  

Options: control = appelt  

 

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 24 -

Macro: MILLION_BILLION  

({Token.string == "m"}|  

{Token.string == "million"}|  

{Token.string == "b"}|  

{Token.string == "billion"}|  

{Token.string == "bn"}|  

{Token.string == "k"}|  

{Token.string == "K"}  

)  

 

Macro: NUMBER_WORDS  

(  

 (({Lookup.majorType == number}  

   ({Token.string == "-"})?  

  )*  

   {Lookup.majorType == number}  

   {Token.string == "and"}  

 )*  

 ({Lookup.majorType == number}  

  ({Token.string == "-"})?  

 )*  

   {Lookup.majorType == number}  

)  

 

Macro: AMOUNT_NUMBER  

(({Token.kind == number}  

  (({Token.string == ","}|  

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 25 -

    {Token.string == "."}  

   )  

   {Token.kind == number}  

  )*  

  |  

  (NUMBER_WORDS)  

 )  

 (MILLION_BILLION)?  

)  

 

Rule: MoneyCurrencyUnit  

  (  

      (AMOUNT_NUMBER)  

      ({Lookup.majorType == currency_unit})  

  )  

:number -->  

  :number.Money = {kind = "number", rule = "MoneyCurrencyUnit"}

Trong ví dụ trên, chúng ta thấy các Macro được sửdụng lồng vào nhau, macro này gọi macro kia. Điều này làmcho cấu trúc JAPE được rõ ràng, lành mạch, giúp cho chúngta dễ dàng quan sát và sửa chữa khi gặp lỗi. Ví dụ đưa ramột pattern để nhận diện một con số là một khoản tiền.

2.1.1.4.4. TOÁN TỬ TẠI VẾ TRÁI.Nhóm toán

tử

Ký hiệu Giải thích Ví dụ

Union và | Hoặc ({Lookup.majorType == lo

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 26 -

Kleene cation} |  

  {Lookup.majorType == c

ountry_adj})

* Xuất hiện 0 hoặc

nhiều lần

({Lookup.majorType == lo

cation})*

? Xuất hiện 0 hoặc

1 lần

({Lookup.majorType == or

ganization})?

+ Xuất hiện 1 hoặc

nhiều lần

({Lookup.majorType == co

untry_adj})+

Range [number

1,

number2

]

So khớp số lượng

chú thích từ

number1 đến

number2

({Token})[1,3] : so khớp

từ 1 đến 3 Token trong

một dòng

[number

]

So khớp chính xác

chú thích theo số

number

({Token.kind==number})

[3] : so khớp chính xác

3 Token loại number

trong một dòng.

Equality == So sánh bằng {Lookup.majorType == 

"person"}

!= So sánh không

bằng

{Lookup.majorType != 

"person"}

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 27 -

Comparison < So sánh bé hơn {Token.length < 3}

<= So sánh bé hơn

bằng

{Token.length <= 3}

>= So sánh lớn hơn

bằng

{Token.length >= 3}

> So sánh lớn hơn {Token.length > 3}

Regular

Expression

=~ So sánh gần bằng.

So khớp với

regular

expression

{Token.string =~

“[Dd]ogs”}

==~ So sánh bằng.

So khớp với

regular

expression.

{Token.string ==~

“[Dd]ogs”}

!~ So sánh không gần

bằng.

So khớp với

regular

expression

{Token.string !~

“[Dd]ogs”}

!=~ So sánh không

bằng.

{Token.string !=~

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 28 -

So khớp với

regular

expression

“[Dd]ogs”}

Contextual X

contain

s y

Trả về true, khi

một chú thích

loại X chứa hoàn

toàn một chú

thích loại Y.

{X contains {Y.foo==bar}

}

X

within

Y

Trả về true, khi

một chú thích

loại X được bao

phủ hoàn toàn bởi

một chú thích

loại Y.

{{X.foo==bar} within Y}

Bảng 4: Các toán tử trong vế trái của luật ngữ pháp JAPE.

2.1.1.5. VẾ PHẢI (RIGHT-HAND SIDE).Vế phải của luật chứa những thông tin về chú thích

được tạo ra. Nó cho phép chúng ta đặt tên nhãn chú thích

thông qua những nhãn phụ đã được gán ở vế trái, cho phép

tạo các đặc tính cho chú thích. Ngoài ra nó còn hỗ trợ,

cho phép người dùng có thể đưa code Java vào. Vế phải phân

biệt với vế trái thông qua dấu “--> ”

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 29 -

Rule: GazLocation  

(  

{Lookup.majorType == location}  

)  

:location -->  

:location.Enamex = {kind="location", rule=GazLocation}

Trong ví dụ, những vùng đã được gán nhãn phụ là

“location” sẽ được gán nhãn là Enamex, và đây cũng chính

là tên của loại chú thích này. Loại chú thích Enamex có

những đặc tính là kind và rule. Sau đây là một ví dụ cho

thấy việc sử dụng code Java tại vế phải.

Rule: FirstName  

(  

 {Lookup.majorType == person_first}  

):person  

-->  

{  

AnnotationSet person = bindings.get("person");  

Annotation personAnn = person.iterator().next();  

FeatureMap features = Factory.newFeatureMap();  

features.put("gender", personAnn.getFeatures().get("minorType"));

features.put("rule", "FirstName");  

outputAS.add(person.firstNode(), person.lastNode(), "FirstPerson",

features);  

}

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức

- 30 -

Sử dụng code Java bên vế phải cho phép ta linh hoạthơn trong việc đặt các đặc tính cho chú thích, cũng nhưtinh chỉnh, chọn lọc lại những chú thích đã được gán nhãn.Ở ví dụ, đoạn code java dùng bên vế phải nhằm mục đíchthêm vào các giá trị đặc tính khác nhau cho từng chú thíchkhác nhau. Giá trị đặc tính “gender” được gán ghép dựa vàođặc tính minorType của loại chú thích Lookup.

2.1.2. HIỆN THỰC CÁC LUẬT JAPE.

2.2. PHƯƠNG PHÁP MÁY HỌC SVM.

2.2.1. KHÁI QUÁT VỀ SVM.

2.2.2. ỨNG DỤNG THUẬT TOÁN SVM VÀO BÀI TOÁN.

CHƯƠNG 3: HIỆN THỰC HỆ THỐNG.

CHƯƠNG 4: THỰC NGHIỆM, NHẬN XÉT VÀ ĐÁNH GIÁ.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.

PHỤ LỤC

DANH MỤC TÀI LIỆU THAM KHẢO

GVHD: ThS. Huỳnh Ngọc Tín SVTH: Võ Đinh Duy & Huỳnh Minh Đức