1.5 Các kết quả đạt được của luận văn Luận văn đã được một số kết quả như sau: Về bài toán trích rút thông tin - Nghiên cứu các phương pháp trích rút thông tin, đặc biệt là các phương
Trang 1MỤC LỤC
MỤC LỤC 1
LỜI CAM ĐOAN 3
LỜI CẢM ƠN 4
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT 5
DANH MỤC CÁC BẢNG 6
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 7
CHƯƠNG 1 MỞ ĐẦU 9
1.1 Lý do chọn đề tài 9
1.2 Mục đích nghiên cứu 9
1.3 Nội dung nghiên cứu 10
1.4 Bố cục luận văn 11
1.5 Các kết quả đạt được của luận văn 11
1.6 Ý nghĩa của luận văn 12
CHƯƠNG 2 KHÁI QUÁT VỀ TRÍCH RÚT THÔNG TIN 13
2.1 Bài toán trích rút thông tin 13
2.2 Trích rút thông tin từ môi trường Web 14
2.2.1 Hệ thống KnowItAll 16
2.2.2 Hệ thống TextRunner 26
2.2.3 So sánh KnowItAll và TextRunner 33
CHƯƠNG 3 MÔ TẢ BÀI TOÁNVÀ PHƯƠNG PHÁP GIẢI QUYẾT 35
3.1 Mô tả bài toán 35
3.1.1 Yêu cầu trích rút thông tin đối với các doanh nghiệp cung cấp dịch vụ thương mại điện tử 35
3.1.2 Yêu cầu trích rút thông tin đối với người tiêu dùng thương mại điện tử 37 3.2 Phương pháp giải quyết 39
Trang 23.2.1 Trích rút thông tin bán cấu trúc 40
3.2.2 Trích rút thông tin phi cấu trúc 43
CHƯƠNG 4 THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNGTRÍCH RÚT VÀ ỨNG DỤNG VÀO CÁC DỊCH VỤ DỰA TRÊN GIÁ 48
4.1 Thiết kế hệ thống 48
4.1.1 Kiến trúc hệ thống 48
4.1.2 Nền tảng công nghệ 51
4.2 Chức năng hệ thống 53
4.2.1 Phân hệ trích rút thông tin 54
4.2.2 Phân hệ FrontEnd 54
4.2.3 Phân hệ BackEnd 62
4.2.4 Phân hệ Mobile 64
4.3 Đánh giá kết quả trích rút 66
CHƯƠNG 5 KẾT QUẢ VÀ BÀN LUẬN 67
5.1 Các kết quả đạt được trong luận văn 67
5.1.1 Về lý thuyết 67
5.1.2 Về thực nghiệm 67
5.2 Hướng nghiên cứu tiếp 68
KẾT LUẬN VÀ KIẾN NGHỊ 69
TÀI LIỆU THAM KHẢO 70
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan, luận văn tốt nghiệp Thạc sỹ này 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 PGS TS Lê Thanh Hương Các kết quả trong luân văn tốt nghiệp là trung thực, không phải sao chép toàn văn của bất kỳ công trình nào khác Tôi xin chịu hoàn toàn trách nhiệm về nội dung quyển luận văn này
Tác giả
Nguyễn Hồng Nghi
Trang 4LỜI CẢM ƠN
Luận văn được hoàn thành tại trường Đại học Bách khoa Hà Nội Để hoàn thành luận văn này, tác giả đã nhận được sự chỉ bảo tận tình, cùng những yêu cầu nghiêm khắc của PGS.TS Lê Thanh Hương, người đã truyền đạt rất nhiều kiến thức quí báu cũng như những kinh nghiệm nghiên cứu khoa học trong suốt thời gian tác giả theo học và nghiên cứu
Tác giả xin chân thành gửi lời biết ơn đến Ban lãnh đạo Viện Công nghệ thông tin và Truyền thông, Viện Đào tạo Sau đại học và Bộ môn Hệ thống Thông tin, thuộc trường Đại học Bách khoa Hà Nội đã tạo điều kiện thuận lợi trong quá trình học tập, nghiên cứu và hoàn thành luận văn
Với năng lực hạn chế của bản thân cũng như những nguyên nhân chủ quan, khách quan, luận văn không tránh những thiếu sót Tác giả rất mong được sự góp ý của quý thầy cô, các bạn bè và đồng nghiệp để luận văn được hoàn thiện hơn
Tác giả
Nguyễn Hồng Nghi
Trang 5DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
OIE Open Information Extraction – Trích rút thơng tin mở
NBC Nạve Bayes Classifier – Bộ phân loại Nạve Bayes
RE Regular Expression – Biểu thức chính quy
SOA Service Oriented Architect – Kiến trúc hướng dịch vụ
Trang 6DANH MỤC CÁC BẢNG
Bảng 1 Giả ngôn ngữ của KnowItAll 18 Bảng 2 Một luật trích rút tạo bởi thay tên lớp “Thành-Phố” và số nhiều của lớp có nhãn “thành phố” thành một mẫu luật chung 19 Bảng 3 Ví dụ các vị từ cho lĩnh vực địa lý và lĩnh vực phim 21 Bảng 4 Tám mẫu trích rút chung sử dụng cho các luật trích rút đơn, hai mẫu cho mẫu trích rút nhị phân 22 Bảng 5 Một ví dụ của luật trích rút 2 ngôi để tìm CEO của một công ty 24 Bảng 6 Ví dụ về đặc trưng sử dụng trong Bộ phân loại tự giám sát trong TextRunner 30 Bảng 7 Ví dụ về các ràng buộc về đường trên cây cú pháp có thể trích rút quan hệ 31 Bảng 8 Mười vị từ sử dụng trong so sánh KnowItAll và TextRunner 33 Bảng 9 So sánh kết quả thử nghiệm giữa TextRunner và KnowItAll 34 Bảng 10 Kết quả trích rút 66
Trang 7DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1 Mô hình trích rút thông tin 14
Hình 2 Biểu đồ trình tự của các thành phần trong KnowItAll 17
Hình 3 Trình tự xử lý của các thành phần trong TextRunner 29
Hình 4 Mô hình nghiệp vụ theo dõi giá truyền thống của các doanh nghiệp thương mại điện tử 36
Hình 5 Nhu cầu giải quyết bài toán của doanh nghiệp 37
Hình 6 Nhu cầu theo dõi giá của người tiêu dùng 38
Hình 7 Nhu cầu của người tiêu dùng về thông tin giá 39
Hình 8 Thông tin trên trang Web của một doanh nghiệp thương mại điện tử 41
Hình 9 Công cụ biểu thức chính quy RegexBuddy 42
Hình 10 Trích rút thông tin giá bằng OIE 43
Hình 11 Quá trình tiền xử lý 44
Hình 12 Bộ trích rút duyệt một lần 45
Hình 13 Bộ phân loại tự giám sát 46
Hình 14 Bộ đánh giá dựa trên dư thừa 46
Hình 15 Lịch sử phát triển của kiến trúc ứng dụng 48
Hình 16 Kiến trúc hệ thống 49
Hình 17 Mô hình triển khai hệ thống 50
Hình 18 Nền tảng công nghệ của hệ thống 51
Hình 19 Chức năng của hệ thống 53
Hình 20 Đăng ký tài khoản chính thức trên hệ thống 55
Hình 21 Đăng nhập vào hệ thống 55
Hình 22 Trang chủ của hệ thống 56
Hình 23 Thông tin sản phẩm 56
Hình 24 Thông tin sản phẩm và biểu đồ so sánh giá các nhà cung cấp 57
Hình 25 Thông tin sản phẩm và biểu biến động giá của các nhà cung cấp 57
Hình 26 Gian hàng ảo của một nhà cung cấp 58
Trang 8Hình 27 Bản đồ các nhà cung cấp trên hệ thống 58
Hình 28 Diễn đàn trao đổi thông tin 59
Hình 29 Thông tin trong một topic của diễn đàn 59
Hình 30 Quản lý thông tin tài khoản cá nhân 60
Hình 31 Đăng ký nhận biến động giá của sản phẩm 61
Hình 32 Bảng quản lý của doanh nghiệp 62
Hình 33 Phân hệ BackEnd 63
Hình 34 Cấu hình thông tin sản phẩm 64
Hình 35 Thông tin về các đợt giảm giá 65
Hình 36 Xem thông tin chi tiết sản phẩm 65
Hình 37 Tìm sản phẩm giá tốt nhất 65
Hình 38 Tích hợp với mạng xã hội Facebook 65
Trang 9CHƯƠNG 1 MỞ ĐẦU
1.1 Lý do chọn đề tài
Trong những năm qua, các nghiên cứu về trích rút thông tin từ môi trường Web đã đạt được nhiều thành tựu đáng kể Sự ra đời của hàng loạt các phương pháp trích rút đã mở ra cơ hội cũng như thách thức cho việc phát triển các hệ thống ứng dụng cho bài toán cụ thể Đặc biệt, chúng mở ra cơ hội để tạo ra các hệ thống dựa trên tri thức (knowledge-based) mà độc lập với miền tri thức Tuy nhiên, điều này cũng đặt ra nhiều thử thách kỹ thuật để có thể vượt qua
Trong thời đại bùng nổ về công nghệ thông tin nói chung và thương mại điện
tử nói riêng, hàng loạt các trang web, diễn đàn thương mại điện tử được mở ra với số lượng ngày một tăng Trước một lượng dữ liệu khổng lồ về thông tin giá cả của các sản phẩm, người tiêu dùng rất khó khăn để lựa chọn được một sản phẩm với giá cả tốt nhất trong hàng loạt các trang web, diễn đàn như vậy Bên cạnh đó, các doanh nghiệp cũng tốn rất nhiều thời gian, công sức và tiền bạc trong việc theo dõi thông tin giá cả biến động không ngừng của đối thủ cạnh tranh để đưa ra chiến lược giá cho doanh nghiệp mình nhằm nâng cao vị thế cạnh tranh
Thông tin về giá cả của mỗi trang web, diễn đàn được tổ chức đa dạng từ có cấu trúc, bán cấu trúc đến cả phi cấu trúc, việc thu thập thông tin giá cả này một cách
tự động là khá khó khăn với doanh nghiệp cũng như người tiêu dùng Đứng trước thực trạng đó, tác giả đã chọn đề tài này với mong muốn nghiên cứu, xây dựng một giải pháp trích rút thông tin giá cả cho các dịch vụ thương mại điện tử dựa trên thông tin giá
1.2 Mục đích nghiên cứu
Thông qua nghiên cứu đề tài “Ứng dụng trích rút thông tin trong xây dựng các dịch vụ dựa trên giá”, tác giả mong muốn đạt được kết quả:
Trang 10 Nghiên cứu các phương pháp trích rút thông tin nói chung và trích rút thông tin từ môi trường Web nói riêng và từ đó lựa chọn một phương pháp phù hợp với bài toán
Xây dựng một giải pháp trích rút thông tin giá từ các trang Web, diễn đàn thương mại điện tử
Xây dựng một giải pháp cho người tiêu dùng có thể dễ dàng lựa chọn được các sản phẩm quan tâm với giá tốt nhất Bên cạnh đó, cung cấp các dịch vụ tiện ích khác dựa trên thông tin giá cả này
Xây dựng một giải pháp cho doanh nghiệp thương mại điện tử có thể
dễ dàng theo dõi biến động giá cả của các đối thủ, nhà cung cấp khác
để hỗ trợ doanh nghiệp đưa ra một chiến lược giá cạnh tranh
Đối tượng nghiên cứu của đề tài là bài toán trích rút thông tin đối với dữ liệu
có cấu trúc, bán cấu trúc cũng như phi cấu trúc
Phạm vi nghiên cứu của luận văn là tập trung vào việc trích rút thực thể và quan hệ giữa chúng (quan hệ giá cả) từ văn bản phi cấu trúc thuộc lĩnh vực thương mại điện tử trên môi trường Web Các tập dữ liệu thử nghiệm được thu thập từ các trang web, diễn đàn thương mại điện tử Do kết quả của việc xử lý ngôn ngữ Tiếng Việt đã đạt được nhiều thành tựu với độ chính xác cao, nên tác giả sẽ sử dụng lại kết quả của một số tác giả trong các vấn đề liên quan
1.3 Nội dung nghiên cứu
Trong luận văn này, tác giả nghiên cứu 2 phương pháp trích rút thông tin từ môi trường Web như: phương pháp KnowItAll; phương pháp TextRunner Trong đó, tập trung nghiên cứu kỹ về phương pháp TextRunner để ứng dụng vào bài toán trích rút thông tin giá
Bên cạnh đó, tác giả cũng nghiên cứu về kiến trúc, mô hình hệ thống, phương
pháp kỹ thuật để xây dựng được hệ thống khai thác thông tin giá
Trang 111.4 Bố cục luận văn
Luận văn được bố cục thành các chương sau:
Chương I Khái quát về trích rút thông tin
Chương này tác giả sẽ giới thiệu về các khái niệm cơ bản trong trích rút thông tin và một số phương pháp trích rút thông tin từ môi trường Web hiện nay và lựa chọn phương pháp phù hợp
Chương II Mô hình bài toán và phương pháp giải quyết
Trong chương này, tác giả sẽ mô hình hóa các yêu cầu của bài toán và phương pháp luận để giải quyết vấn đề
Chương III Thiết kế và xây dựng hệ thống trích rút và ứng dụng vào các dịch vụ dựa trên giá
Trong chương này, tác giả sẽ mô tả thiết kế và xây dựng cho bài toán trích rút thông tin cũng như việc khai thác thông tin giá này cho các dịch vụ dựa trên giá
Chương IV Kết quả và bàn luận
Nêu lên một số kết quả đạt được của sản phẩm, một số bàn luận
1.5 Các kết quả đạt được của luận văn
Luận văn đã được một số kết quả như sau:
Về bài toán trích rút thông tin
- Nghiên cứu các phương pháp trích rút thông tin, đặc biệt là các phương pháp trích rút thông tin từ môi trường Web và ứng dụng phương pháp Open Information Extraction trong việc trích rút thông tin từ nguồn dữ liệu phi cấu trúc
- Ứng dụng của phương pháp Open Information Extraction trong bài toán trích rút thông tin giá cả từ các trang web, diễn đàn thương mại điện tử
Về xây dựng hệ thống hỗ trợ các dịch vụ dựa trên giá
Trang 12- Xây dựng hệ thống cho người tiêu dùng dễ dàng lựa chọn được sản phẩm có giá tốt, cũng như các tiện ích để việc mua hàng hóa được thuận tiện và hiệu quả hơn
- Xây dựng hệ thống cho doanh nghiệp thương mại điện tử theo dõi được biến động giá của các đối thủ để đưa ra chiến lược giá mang tính cạnh tranh
1.6 Ý nghĩa của luận văn
Với kết quả đã đạt được, luận văn đã mang lại một số kết quả nghiên cứu nhất định trong việc trích rút thông tin từ các trang web, diễn đàn và đặc biệt là nghiên cứu
và ứng dụng phương pháp Open Information Extraction trong việc giải quyết bài toán
cụ thể Bên cạnh đó, cũng mở ra hướng nghiên cứu về việc ứng dụng phương pháp này trong việc trích rút các thông tin khác từ Internet
Đồng thời, luận văn cũng cung cấp cho người tiêu dùng cũng như các doanh nghiệp thương mại điện tử một hệ thống hỗ trợ trong việc mua, bán mang lại hiệu quả hơn
Trang 13CHƯƠNG 2 KHÁI QUÁT VỀ TRÍCH RÚT THÔNG TIN
Trong chương này, luận văn sẽ trình bày các kiến thức cơ bản về trích rút thông tin bao gồm: khái niệm về trích rút thông tin; trích rút thực thể; trích rút mối quan hệ giữa các thực thể; và các phương pháp trích rút thông tin mới từ môi trường Web
2.1 Bài toán trích rút thông tin
Hiện nay, có rất nhiều định nghĩa về trích rút thông tin, trên cơ sở nghiên cứu các nghiên cứu liên quan[5], có thể định nghĩa “Trích rút thông tin” (IE - Information Extraction) là quá trình phát hiện các thực thể/tên, các mối quan hệ và các sự kiện từ văn bản bán có cấu trúc, bán cấu trúc hay phi cấu trúc; và chuyển chúng sang dạng thể hiện có cấu trúc (VD: cơ sở dữ liệu)
Việc trích rút ra các thông tin có cấu trúc từ các nguồn dữ liệu (có nhiễu và phi cấu trúc) là một công việc rất khó khăn, thu hút được sự quan tâm của cộng đồng các nhà nghiên cứu trong hai thập kỉ qua Bắt nguồn từ cộng đồng các nhà xử lý ngôn ngữ tự nhiên, IE đã nhanh chóng được quan tâm chú ý bởi những cộng đông nghiên cứu khác nhau về học máy, truy vấn thông tin, cơ sở dữ liệu, Web, và phân tích văn bản Hai hội nghị quan trọng đối với các nghiên cứu về trích rút thông tin là: Message Understanding Conference (MUC) và Automatic Content Extraction (ACE)
Có nhiều mức độ trích rút thông tin từ văn bản như: trích rút các thực thể (Named Entity Recognition), trích rút quan hệ giữa các thực thể (Relation Extraction), phân giải đồng tham chiếu (Co-reference Resolution)… Các kĩ thuật được sử dụng trong trích rút thông tin gồm có: phân đoạn, phân lớp, kết hợp và phân cụm
IE có nhiều ứng dụng rộng rãi và hữu ích Trên thế giới, IE được ứng dụng khá nhiều vào việc trích rút thông tin trên Internet Các ứng dụng thực tế bao gồm: lấy thông tin về tên của các công ty, tên người điều hành công ty, theo dõi thông tin
về các dịch bệnh, theo dõi các sự kiện khủng bố… IE còn được ứng dụng vào việc chăm sóc khách hàng, đó là việc tìm kiếm và trích rút ra các thông tin của khách hàng
Trang 14như: họ tên, địa chỉ, email, số điện thoại rồi lưu vào cơ sở dữ liệu (CSDL) hay phục
vụ các hệ thống quản lý thông tin cá nhân Gần đây IE đặc biệt được chú trọng trong lĩnh vực y học Đã có khá nhiều nghiên cứu được tiến hành nhằm ứng dụng IE vào việc trích rút các thực thể trong ngành y, như tên các protein và gene
Theo[1], hệ thống trích rút thông tin có các thao tác chính như sau
Hình 1 Mô hình trích rút thông tin
Chương này, sẽ trình bày về một số phương pháp trích rút và lựa chọn phương pháp phù hợp cho bài toán của luận văn
2.2 Trích rút thông tin từ môi trường Web
Trong vài năm gần đây các nhà nghiên cứu đã trích rút được số lượng lớn thông tin từ các dữ liệu văn bản trên môi trường Web Các hệ thống mới như KnowItAll, KnowItNow, TextRunner, và một số hệ thống khác đã chứng minh được khả năng xử lý lượng lớn dữ liệu một cách hiệu quả Số lượng lớn tri thức tạo ra bởi các hệ thống này đã mở ra nhiều cơ hội và thách thức Đặc biệt, chúng mở ra cơ hội
để tạo ra các hệ thống dựa trên tri thức (knowledge-based) mà độc lập với miền tri thức Tuy nhiên, điều này cũng đặt ra nhiều thử thách kỹ thuật để có thể vượt qua Thứ nhất, thông tin được trích rút ra chỉ là một phần trong việc hướng tới cách thức
xử lý được hoàn toàn bởi máy tính, cần nhiều nghiên cứu để chuyển dữ liệu văn bản
Trang 15sang dạng biểu diễn logic của tri thức Thứ hai, xây dựng một hệ thống dựa trên tri thức sử dụng trích rút thông tin yêu cầu cái nhìn tổng thể về việc tích hợp các tri thức trích rút được từ các hệ thống phức tạp Thứ ba, cần thiết xây dựng các giải pháp linh hoạt để xử lý lượng lớn của tri thức Luận văn này nghiên cứu một số phương pháp
để tiếp cận và vượt qua các thử thách này
Trích rút thông tin là quá trình thu nhận các thông tin có cấu trúc từ văn bản phi cấu trúc Các hệ thống trích rút thông tin từ môi trường Web (WIE - Web Information Extraction) khác với các hệ thống truyền thổng ở cả phương pháp và mục đích Trong khi các hệ thống trích rút thông tin truyền thống tập trung vào việc xiết chặt đến mức có thể từ tập dữ liệu nhỏ, thì các hệ thống WIE tập trung vào trích rút thông tin độc lập với miền tri thức từ các câu tương đối đơn giản, và dựa vào sự dư thừa của môi trường Web để cung cấp lượng lớn thông tin
Các hệ thống WIE đối diện với nhiều thử thách mới do phải xử lý với quy mô lớn của môi trường Web một cách hiệu quả Trên môi trường này, do có rất nhiều người cung cấp thông tin, nên các hệ thống WIE phải giải quyết được ràng buộc về các kiểu khác nhau của ngôn ngữ mà có thể là nguyên nhân làm nhiều công cụ xử lý ngôn ngữ bị giảm hiệu năng Và hầu hết các nghiên cứu về trích rút thông tin dựa vào việc trích rút các trường hợp mà có tập vị từ thường dùng và phụ thuộc vào miền tri thức Để đạt được việc độc lập với miền tri thức, và có thể trích rút thông tin từ các văn bản tùy ý trên môi trường Web, các hệ thống WIE phải làm cách nào đó giảm thiếu và loại trừ số lượng lớn đầu vào mà yêu cầu trên mỗi miền tri thức hoặc vị từ
Có một số phương pháp giúp cho việc tạo ra hệ thống WIE như vậy khả thi và thực tế hơn Turney [2] là người đầu tiên nhận ra rằng các máy tìm kiếm Web (search engine) cung cấp các bộ đếm hitcount cho việc tính toán thống kê mà tốn chi phí rẻ bằng mô hình PMI-IR (Pointwise Mutual Information for Information Retrieval) Hệ thống KnowItAll trích rút các thể hiện của bất kỳ lớp nào từ môi trường Web, sử dụng thống kê PMI-IR làm bằng chứng cho việc xác nhận trích rút
Hearst là người tiên phong trong việc sử dụng các mẫu chung trong việc trích rút thông tin[4] Từ đó, nhiều hệ thống cải tiến các khái niệm cơ bản của các trích rút
Trang 16dựa trên mẫu bằng cách nâng cấp lên môi trường Web và học các mẫu mới sử dụng quá trình trích rút Cách thức học này được gọi là bootstrapping, có thể nâng cao tính triệu hồi (recall) của các hệ thống trích rút và thiết lập chúng chuyên biệt cho vùng tri thức
Bootstrapping có thể giúp giảm chi phí của trích rút thông tin cho vùng tri thức mới bằng cách tự động tạo và học mẫu mới đối với các quan hệ trong vùng tri thức, nhưng nó không thể xác định các mối quan hệ Các hệ thống cao cấp khác của WIE thực hiện Trích rút thông tin mở (OIE – Open Information Extraction) [6] theo cách tất cả các quan hệ có khả năng được trích rút ra từ dữ liệu như là một trường hợp của quan hệ Cách thức này nâng câp tốc độ của WIE và quy mô của đầu ra
Phần tiếp theo sẽ mô tả hai hệ thống WIE, là KnowItAll và TextRunner là 2 phương pháp mới và hiệu quả hiện nay
Thu thập một lượng lớn thông tin bằng cách tìm kiếm trên Web có thể là một quá trình thủ công, buồn tẻ Việc thu thập một cách đầy đủ, toàn vẹn là khá khó khăn trừ khi ta có các tài liệu chuẩn hoặc một cơ sở dữ liệu mới có thể giảm thiểu được lỗi Một trong các mục đích của KnowItAll là giải quyết bài toán tích lũy các thu thập lớn vềcác thể hiện Dưới đây là biểu đồ trình tự của các thành phần trong KnowItAll:
Trang 17Hình 2 Biểu đồ trình tự của các thành phần trong KnowItAll
Bootstrapping của KnowItAll sử dụng một tập các mẫu trích rút độc lập với miền tri thức để tạo ra các luật trích rút và bộ phân tách với mỗi vị từ mà nó quan tâm Bootstrapping là tự động hoàn toàn, ngược với các phương pháp bootstrapping khác yêu cầu tập các dữ liệu đào tạo thủ công
Hai thành phần chính của KnowItAll là bộ trích rút (Extractor) và bộ đánh giá (Assessor) Bộ trích rút tạo một câu truy vấn từ các từ khóa trong mỗi luật, rồi gửi câu truy vấn tới máy tìm kiếm Web, và áp dụng luật để trích rút thông tin từ kết quả trả về của các trang Web Bộ đánh giá tính toán xác suất mà mỗi trích rút là chính xác trước khi bổ sung trích rút vào nền tảng tri thức của KnowItAll Bộ đánh giá dựa trên tính toán xác suất trên bộ đếm hitcount của máy tìm kiếm và sử dụng thuật toán PMI-
IR để đánh giá
KNOWITALL(information focus I , rule templates T )
Bootstrap(I , T ) sets rules R, queries Q, and discriminators D
Do until queries in Q are exhausted (or other termination criterion)
Extractor(R, Q) writes extractions list E Assessor(E, D) adds extractions to the knowledgebase
Trang 18Extractor(rules R, queries Q)
Select queries from Q, set the number of downloads for each query
Send selected queries to search engines
For each webpage w whose URL was returned by a search engine
Extract fact e from w using the rule associated with the query Write e to extractions list E
Assessor(extraction list E, discriminators D)
For each extraction e in E
Assign a probability p to e using a Bayesian classifier based on D Add e,p to the knowledgebase
Bảng 1 Giả ngôn ngữ của KnowItAll
Bootstrapping tạo ra các luật và bộ phân tách với mỗi vị từ quan tâm KnowItAll tạo ra danh sách các câu truy vấn máy tìm kiếm tương ứng với các luật trích rút và thực thi trong vòng lặp chính Ở đầu mỗi vòng lặp, KnowItAll lựa chọn các câu truy vấn, các vị từ hay dùng và các luật hiệu quả nhất trong các phép lặp trước của vòng lặp chính Bộ trích rút gửi các câu truy vấn đã chọn tới máy tìm kiếm và trích rút thông tin từ kết quả trả về của các trang Web Bộ đánh giá tính toán xác suất
mà mỗi trích rút là chính xác hay không và bổ sung vào nền tảng tri thức Vòng lặp này lặp cho đến khi tất cả các câu tri vấn được xử lý hết hoặc cho rằng không còn kết quả có giá trị
2.2.1.1 Các luật trích rút và bộ phân loại
KnowItAll tự động tạo một tập các luật trích rút với mỗi vị từ Mỗi luật bao gồm một vị từ, một mẫu trích rút, các ràng buộc, liên kết và từ khóa Vị từ cung cấp tên quan hệ và tên lớp của mỗi tham số vị từ Trong luật dưới đây, vị từ duy nhất là
“Thành-Phố” Mẫu trích rút được ứng dụng vào một câu có một trình tự các xâu xen
kẽ và các khe (slot), trong đó mỗi khe tượng trưng một xâu trong câu Luật có thể
Trang 19thiết lập các ràng buộc trên khe, và có thể liên kết nó với một trong các tham số vị từ như là 1 cụm được trích rút Trong luật ví dụ ở dưới, mẫu trích rút bao gồm 3 phần tử: một khe tên là NP1, một xâu ngữ cảnh “như là”, và một khe tên NPList2 Có một ràng buộc ngụ ý trong các slot với tên NP<digit> Chúng phải khớp với các các cụm danh từ và tên của nó là NPList<digit> khớp với một danh sách các cụm danh từ đơn giản Tên slot của P<digit> có thể khớp với các cụm tùy ý
Bộ trích rút sử dụng biểu thức chính quy trên các nhãn từ loại (part-of-speech)
từ bộ gán nhãn Brill để xác định các danh từ đơn giản và NPList Đầu (head) của một cụm danh từ nhìn chung là từ cuối của cụm Nếu từ cuối là viết hoa, bộ trích rút tìm kiếm bên trái là bắt đầu của danh từ riêng, dựa trên cú pháp chính tả Ví dụ, câu
“Chuyến du lịch gồm các thành phố chính như là New York, trung tâm Los Angeles,
và Dallas” Đầu của NP “các thành phố chính” chỉ là “các thành phố”, trong đó head của “New York” là “New York” và head của “trung tâm Los Angeles” là “Los Angeles”
Ràng buộc: Head(NP1)= “các thành phố”
properNoun(head(each(NPList2))) Liên kết: City(head(each(NPList2)))
Từ khóa: “các thành phố như là”
Bảng 2 Một luật trích rút tạo bởi thay tên lớp “Thành-Phố” và số nhiều của
lớp có nhãn “thành phố” thành một mẫu luật chung
Các ràng buộc của một luật có thể chỉ ra bên trong cụm khớp với khe, đầu của mỗi cụm, hoặc đầu của mỗi cụm danh từ NP đơn giản trong khe NPList Một trong những kiểu của ràng buộc là một ràng buộc xâu chính xác, như là head(NP1)= “các thành phố” trong luật ở bảng trên Các ràng buộc khác có thể chi ra một cụm hoặc đầu của nó phải theo mẫu chính tả của danh từ riêng hoặc của một danh từ chung Luật liên kết chỉ ra các khe nào hoặc các đầu của khe nào là được trích rút cho mỗi thông số của vị từ Nếu liên kết có một khe NPList, một trích rút riêng biệt được tạo
Trang 20ra cho mỗi cụm danh từ NP đơn giản trong danh sách mà thỏa mãn tất cả các ràng buộc Trong ví dụ luật trên, một trích rút được tạo với tham số Thành-Phố liên kết với mỗi cụm danh từ NP đơn giản trong NPList2 mà thỏa mãn ràng buộc danh từ riêng
Phần cuối của luật là danh sách của các từ khóa mà được tạo từ xâu ngữ cảnh
và bất kỳ khe nào có một ràng buộc từ chính xác Trong ví dụ trên, có một cụm từ khóa đơn “các thành phố như là” mà nhận được từ khe NP1 và tuân thủ hoàn toàn theo sau ngữ cảnh Một luật có thể có nhiều cụm từ khóa nếu ngữ cảnh hoặc các khe với ràng buộc xâu chính xác không phải tính từ
KnowItAll sử dụng các từ khóa như là các câu truy vấn máy tìm kiếm, áp dụng các luật vào các kết quả nhận được từ các trang Web, sau khi tìm các câu trong trang
mà chứa từ khóa Bộ trích rút sử dụng các luật trích rút áp dụng vào các trang Web
và thực hiện phân tích cú pháp Ngược lại, bộ đánh giá sử dụng bộ phân loại để áp vào các dấu hiệu máy tìm kiếm Những bộ phân loại này là tương tự với các luật trích rút đơn giản mà không quan tâm tới cú pháp, dấu chấm câu, chữ viết hoa và cả dấu hết câu, là các giới hạn khi sử dụng các truy vấn máy tìm kiếm thương mại Mặt khác, các bộ phân loại có giá trị tương đương khi ứng dụng các mẫu trích rút cùng lúc với tập các trang Web được đánh chỉ mục bởi máy tìm kiếm
Một bộ phân loại bao gồm một mẫu trích rút với các xâu ngữ cảnh xen kẽ và các khe Không có các ràng buộc rõ ràng hoặc ngụ ý trên các khe, và các mẫu khớp với các trang Web mà các xâu và khe trực tiếp là tính từ, loại bỏ dấu chấm, dấu trăng,
Trang 21Nhãn quan hệ: “đô thị của” Nhãn quan hệ: “đóng trong”, “ngôi
Bảng 3 Ví dụ các vị từ cho lĩnh vực địa lý và lĩnh vực phim
Đầu tiên Bootstrapping sử dụng một tập các mẫu trích rút chung độc lập với miền tri thức (VD: Trong Bảng 1) Mẫu trong bảng 1 có thể tóm tắt lại ở dạng
<class1> “như là” NPList Đó là, cho một câu bao gồm nhãn lớp theo sau đó là “như là”, theo sau bởi một danh sách các cụm danh từ đơn giản, KnowItAll trích rút đầu của mỗi cụm danh từ như là một ứng viên của lớp, sau khi kiểm tra thì đó là một danh
Trang 22Mỗi thể hiện của luật trích rút có một danh sách các từ khóa được gửi tới các thuật ngữ truy vấn với máy tìm kiếm Một ví dụ của mẫu cú pháp dưới các mẫu luật KnowItAll được thể hiện dưới bảng dưới Một số mẫu luật được điều chỉnh từ mẫu của Marti Hearst và một số người khác được phát triển độc lập Tám mẫu đầu tiên bên dưới là các vị từ mà tên số nhiều của nó khớp với <class1> Để thể hiện các luật, nhãn lớp số nhiều được tự động thay cho <class1>, tạo các mẫu như “các thành phố như là” NPList
NP “và” <class1>
NP “hoặc” <class1>
<class1> “đặc biệt là” NPList
<class1> “bao gồm” NPList
<class1> “như là” NPList
“<class1> “chứa” NPList
NP “là một” <class1>
NP “là” <class1>
<class1> “là” <relation><class2>
<class1> “,” <relation><class2>
Bảng 4 Tám mẫu trích rút chung sử dụng cho các luật trích rút đơn, hai mẫu
cho mẫu trích rút nhị phân
Chúng ta ví dụ với các mẫu luật cho vị từ nhị phân Có vị từ chung, relation(Class1, Class2) Đầu tiên tạo mẫu <Thành-Phố> “là thành phố của”<Quốc-Gia> cho vị từ capitalOf(Thành-Phố,Quốc-Gia) và mẫu <Người> “là Tổng giám đốc của” <company> cho vị từ CeoOf(Người, Côngty)
Bootstrapping cũng khởi tạo Bộ đánh giá cho mỗi vị từ một cách tự động hoàn toàn Đầu tiên nó tạo ra tập các cụm phân loại cho vị từ dựa vào nhãn lớp và các từ khóa trong các luật trích rút của vị từ đó Sau đó, Bootstrapping sử dụng các luật trích rút để tìm tập các thể hiện để đào tạo các bộ phân loại cho mỗi vị từ đó
Trang 232.2.1.3 Bộ trích rút
Xem xét xử lý của các luật trích rút trong KnowItAll, giả sử <class1> trong mẫu
<class1> “như là” NPList
là ràng buộc tên của lớp trong ontology Sau đó với mỗi cụm danh từ đơn giản trong NPList giống như là một thể hiện của lớp đó Khi mẫu này được dùng cho lớp Quốc-Gia nó sẽ khớp với câu mà bao gồm cụm “các quốc gia như là X, Y, và Z” trong đó
X, Y, và Z là tên của quốc gia Các mẫu tương tự được dùng để tạo ra các luật để tìm các thể hiện của các lớp Diễn-Viên, trong đó các luật tìm kiếm “các diễn viên như làX, Y và Z”
Bằng cách sử dụng các nguyên mẫu như là nền tảng cho các mẫu luật trích rút, chúng ta bổ sung các ràng buộc cú pháp để tìm kiếm các cụm danh từ NP dưới dạng cụm danh từ đơn giản; NPList phải là danh sách các NPs; và biểu trưng cho <class1>
là cụm danh từ đơn giản với tên lớp ở đầu Các luật tìm kiếm tên riêng cũng bao gồm các ràng buộc về chính tả Để xem tại sao phân tích cụm danh từ là cần thiết, ta so sánh 2 câu sau:
A) “Việt nam là nước nằm trong Châu Á.”
B) “Lavie là nước khoáng tự nhiên.”
Trong câu A từ “nước” là đầu của một cụm danh từ (Châu Á), và Việt nam là
thể hiện của lớp Quốc-Gia Trong câu B, phân tích cụm danh từ có thể phát hiện ra
“nước” không phải là đầu của một cụm danh từ, nên Laive sẽ không được trích rút thành tên của một quốc gia
Chúng ta xem xét mẫu luật trong Bảng 1 và xem cách thức tạo ra một thể hiện của một lớp cụ thể Module Bootstrapping tạo ra một luật của lớp Thành-Phố từ mẫu này bằng cách thay thế “Thành-Phố” cho “Class1” Bootstrapping cũng tạo ra các
luật tương tự với “các đô thị” như là ràng buộc với NP1, nếu vị từ chỉ ra “đô thị” cũng như “thành phố” như là dạng bề ngoài tương ứng với tên lớp Sau đó,
Bootstrapping lấy một số luật và tạo thành một tập các từ khóa để Bộ phân loại gửi
Trang 24tới một máy tìm kiếm như là một câu truy vấn Trong trường hợp này, truy vấn tìm kiếm là cụm từ “các thành phố như là”
Bộ phân loại khớp với luật trong Bảng 1 với các câu trong các trang Web trả
về từ câu truy vấn NP1 khớp với một cụm danh từ đơn giản; nó phải theo sau bởi xâu “như là”; tiếp sau phải là danh sách các cụm danh từ NP đơn giản Nếu khớp thành công, Bộ phân loại áp dụng các ràng buộc từ các luật Đầu của NP1 phải khớp với xâu “các thành phố” Bộ phân loại kiểm tra đầu của mỗi NP trong danh sách NPList2 có theo mẫu viết hoa của danh từ riêng hay không Bất kỳ NPs mà không phù hợp với điều kiện này sẽ bị bỏ qua Nếu tất cả các ràng buộc là khớp, Bộ phân loại tạo ra một hoặc nhiều trích rút: một thể hiện của lớp Thành-Phố cho mỗi danh từ riêng trong NPList2
Các luật trong Bảng 1 sẽ trích rút ba thể hiện của lớp Thành-Phố từ câu “Chúng
tôi cung cấp dịch vụ cho các khách hàng ở các các thành phố như là London, Paris
và Berlin.” Nếu tất cả việc kiểm tra cho danh từ riêng thất bại, sẽ không có gì được
trích rút như là trong câu “Bản đồ và thông tin chi tiết của các thành phố như là bản
đồ đường xá, sông ngòi”
Bộ trích rút sử dụng các luật cho các mối quan hệ 2 ngôi hoặc n ngôi, bảng dưới cho thấy một luật tìm kiếm các thể hiện của quan hệ CeoOf(Người, Côngty) trong đó vị từ chỉ ra một hoặc nhiều nhãn của quan hệ này, như là “Tổng giám đốc của” được thay vào mẫu chung trong mẫu luật
Từ khóa: “Tổng giám đốc của VNPT”
Bảng 5 Một ví dụ của luật trích rút 2 ngôi để tìm CEO của một công ty
Trang 25Luật này có tham số thứ 2 liên kết với một thể hiện của Côngty, “VNPT” mà KnowItAll vừa bổ sung vào nền tảng tri thức
KnowItAll tự động tạo thành các câu truy vấn dựa trên các luật trích rút Mỗi luật tương ứng với câu truy vấn tạo từ các từ khóa của luật Ví dụ, nếu mẫu trong Bảng 1 được thể hiện hóa cho lớp Thành-Phố, nó sẽ dẫn KnowItAll đến 1)phát hành truy vấn tới máy tìm kiếm xâu “các thành phố như là”, 2)download các trang cùng lúc có tên trong các kết quả trả về và 3) áp dụng Bộ trích rút vào các câu trên mỗi trang download được
dụ, theo thứ tự để ước đoán rằng “Hà nội” là tên của một thành phố, bộ đánh giá có thể kiểm tra xem nếu có một PMI cao giữa “Hà nội” và các cụm như là “Hà nội là
một thành phố”
Gọi I là một thể hiện và D là một cụm phân tách Chúng ta tính điểm PMI như sau:
| ) (
|
| ) (
| ) , (
I Hits
I D Hits D
Trang 26xác suất mà thể hiện là đúng, với các đặc trưng f1, f2, … fn, với giả định là độc lập với các đặc trưng
)
|()()
|()(
)
|()()
i
i i n
f P P
f P P
f P P
f f f P
Phương pháp này dễ dàng chuyển điểm PMI sang xác suất có điều kiện Bộ đánh giá lấy tập các dữ liệu k khả quan và k không chắc chắn cho mỗi lớp và tìm ngưỡng chia điểm PMI thành khả quan và không khả quan
2.2.2 Hệ thống TextRunner
Các hệ thống trích rút truyền thống tập trung vào đáp ứng tính chính xác, các yêu cầu eo hẹp, xác định trước từ một lượng dữ liệu nhỏ, đồng nhất Ngược lại, hệ thống TextRunner giới thiệu một phương pháp trích rút thông tin mới, gọi là Open Information Extraction (OIE), trong đó hệ thống tạo một con đường duy nhất, hướng
dữ liệu qua toàn bộ văn bản và trích rút ra một lượng lớn các bộ ba quan hệ, mà không cần phải nhập liệu thủ công TextRunner là một ví dụ triển khai đầy đủ, mở rộng cao của OIE Các trích rút của TextRunner được đánh chỉ mục, cho phép một cơ chế tìm kiếm nhanh chóng và hiệu quả
Các hệ thống được thiết kế để trích rút các thể hiện của các mối quan hệ trên tập dữ liệu nhỏ, đồng nhất gặp một số vấn đề với các yêu cầu của OIE Hệ thống KnowItAll, được thiết kế cho mục đích trích rút Web không giám sát, có thể xử lý tính đồng nhất của dữ liệu Web mà không cần phải gán nhãn thủ công cho dữ liệu mẫu Tuy nhiên, ngay cả KnowItAll vẫn đòi hỏi đầu vào thủ công ở dạng mối quan
hệ mục tiêu, và nó bị làm chậm đáng kể bởi các câu truy vấn gửi tới máy tìm kiếm OIE thậm chí còn yêu cầu tự động hóa hơn nữa để đáp ứng cho nhiều yêu cầu mở rộng lớn hơn
OIE đánh dấu sự chuyển hướng từ các phương pháp trích rút theo 2 cách chính:
Tự động hóa và khả năng mở rộng: Bước đầu tiên trong việc tự động hóa trích rút đi kèm với việc sử dụng các kỹ thuật học máy để thay thế các hệ thống
Trang 27dựa trên luật (rule-based systems) thủ công Những hệ thống này có thể trích rút thông tin trong các lĩnh vực chuyên biệt bằng cách học các mẫu từ dữ liệu thủ công đã gán nhãn Các kỹ thuật sau này cho thấy cách thức mà các phương pháp bootstrapping có thể làm tương tự với các dữ liệu ít hơn nhiều, hoặc bắt đầu với một vài mẫu trích rút thủ công Tuy nhiên, tất cả các hệ thống này đều yêu cầu dữ liệu đầu vào thủ công cho mọi quan hệ, và có khả năng là mất nhiều công sức để gán nhãn dữ liệu thủ công OIE tìm cách để lược bỏ công sức thủ công đó Đó là cấp bậc cao hơn của tự động hóa cũng như khả năng mở rộng tốt hơn
Dữ liệu không đồng nhất: Các nghiên cứu trước đây đã sử dụng một loạt phương pháp thống kê để trích rút thông tin, bao gồm các phương pháp dựa trên nhân, mô hình entropy cực đại, mô hình đồ thị, và các thống kê đồng thời Tuy nhiên, tất cả chúng đều có xu hướng kết hợp với việc sử dụng các công
cụ xử lý ngôn ngữ, như các bộ nhận dạng tên thực thể, phân tích cú pháp hoặc phân tích phụ thuộc Những công cụ này thực hiện tốt khi được đào tạo và thử nghiệm trên cùng thể loại hay phong cách của văn bản Tuy nhiên, các công
cụ này có xu hướng gặp khó khăn khi áp dụng cho các văn bản không đồng nhất được tìm thấy trên web Các thực thể có tên trên Web có thể rơi vào nhiều thể loại hơn các thể loại truyền thống như Con Người, Địa Điểm và Tổ chức
mà các bộ nhận dạng thực thể thường phát hiện, vì vậy các hệ thống này đặc biệt khó khăn với văn bản Web
Hệ thống TextRunner sử dụng phương pháp Open Information System trong việc trích rút dữ liệu Web theo cách tự động hóa hoàn toàn, khả năng mở rộng cao và hiệu quả
2.2.2.1 Tổng quan về hệ thống TextRunner
Giống như KnowItAll, TextRunner chia thành các module trích rút và đánh giá, với một giai đoạn riêng rẽ cho việc đào tạo bộ trích rút tương tự như mô hình bootstrapping Tuy nhiên, mỗi chức năng cơ bản là khác nhau về thứ tự trong việc hỗ trợ OIE Bộ trích rút duyệt một lần (Single Pass Extractor) duyệt toàn bộ dữ liệu một
Trang 28lần, xử lý từng câu riêng biệt và tạo ra các trích rút Bộ đánh giá sử dụng tập các trích rút để tính toán xác suất mà mỗi trích rút đó là đúng hay không Nó chỉ đòi hỏi các
dữ liệu này là dữ liệu đầu vào mà không cần bộ đếm của máy tìm kiếm như các hệ thống trích rút truyền thống Trong TextRunner, chức năng bootstrapping được gọi
là Bộ phân loại tự giám sát (Self-Supervised Classifier), đào tạo bộ trích rút sử dụng
dữ liệu không gán nhãn bằng một bộ phân tích cú pháp, và tập các khai thác chung
về các cây con trong cây cú pháp
Trong phần dưới đấy, tác giả giới thiệu chi tiết các chức năng chính của hệ thống TextRunner Phần 2.2.2.2 giới thiệu bộ trích rút duyệt một lần và mô hình dữ liệu TextRunner Phần 2.2.2.3 chỉ ra cách mà bộ phân loại tự giám sát đào tạo dữ liệu Phần 2.2.2.4 giới thiệu về bộ đánh giá dựa trên sự dư thừa dữ liệu
2.2.2.2 Bộ trích rút duyệt một lần
Bộ trích rút của TextRunner duyệt một lần duy nhất toàn bộ văn bản, xử lý từng câu một trong 3 giai đoạn Đầu tiên, nó gán nhãn các từ loại trong câu Thứ hai, với mỗi cặp danh từ mà khoảng cách không quá xa, và chủ đề thỏa mãn một số ràng buộc, đưa vào các ứng viên trích rút Sau đó, sử dụng bộ phân loại để xác địch có thể trích rút ra mối quan hệ hay không Nếu bộ phân loại đánh giá trích rút là tin cậy, sẽ trích rút ra một bộ 3 có dạng t =(ei,rj,ek), trong đó ei, ek là các thực thể và rj là mối quan hệ giữa chúng Ví dụ, cho một câu “Mọi người đều biết Edison phát minh ra bóng đèn”, TextRunner có thể trích rút ra bộ ba (Edison, phát minh, bóng đèn)
Trang 29Hình 3 Trình tự xử lý của các thành phần trong TextRunner
Giai đoạn đầu của quá trình trích rút trong TextRunner, thực hiện gán nhãn từ loại sử dụng mơ hình entropy cực đại của OpenNLP Toolkit1 Nĩ khơng sử dụng bộ phân tích cú pháp hay phân tích phụ thuộc, để tránh tốn thời gian xử lý tuyến tính với
độ dài của câu Hơn nữa, các bộ phân tách từ loại là dể chuyển đổi sang các ngơn ngữ khác hơn là bộ phân tích cú pháp, và cĩ thể dễ dàng tự động hĩa trong việc xử lý ngơn ngữ từ mơi trường Web
Giai đoạn thứ hai của quá trình trích rút, bộ trích rút tìm kiếm các ứng viên bộ
ba Với mỗi cặp cụm danh từ trong cùng câu, TextRunner tạo ra các xâu tham số cho một ứng viên bộ ba, và xâu giữa chúng là xâu quan hệ Xâu quan hệ này được làm sạch bằng cách loại bỏ các từ dừng (stopword) và các cụm phĩ từ, giới từ
Bước thứ ba là phân tích các ứng viên bộ ba và quyết định trích rút đĩ cĩ tin cậy hay khơng bằng cách sử dụng bộ phân loại tự giám sát Bộ phân loại này theo mơ hình chuẩn của Nạve Bayes mà các đặc trưng của nĩ là các nhãn từ loại từ các câu
mà bộ ba ứng viên nằm trong, bổ sung thêm các đặc trưng về chiều dài xâu trích rút Một phần của các đặc trưng sử dụng trong bộ phân loại thể hiện dưới bảng sau
1 http://opennlp.sourceforge.net/
Trang 30Xâu quan hệ có chứa từ loại quan hệ không
Số lượng của các thẻ trong xâu từ loại
Số lượng của các từ dung trong xâu từ loại Tham số 1 có là danh từ riêng không Tham số 2 có là danh từ riêng không Thẻ từ loại nằm bên trái tham số 1 Thẻ từ loại nằm bên phải tham số 2
Bảng 6 Ví dụ về đặc trưng sử dụng trong Bộ phân loại tự giám sát trong
TextRunner
Cuối cùng, tất cả trích rút được sắp xếp và sáp nhập thành tập các trích rút chỉ gồm một bản sau của trích rút và số lần mỗi bộ ba đó trích rút được
2.2.2.3 Bộ phân loại tự giám sát
Cũng như KnowItAll sử dụng quá trình bootstrapping để tự đào tạo, bộ phân loại tự giám sát trong TextRunner đào tạo một bộ phân loại dự đoán một trích rút là tốt hay không bằng cách tự động gán nhãn tập các ứng viên bộ ba Tuy nhiên, bộ phân loại của TextRunner là nhanh hơn bộ đánh giá của KnowItAll vì nó không dùng truy vấn tới máy tìm kiếm
Bộ phân loại có thể tự động đào tạo bởi vì nó có thể tự động gán nhãn tập các trích rút mẫu từ dữ liệu chưa gán nhãn Để tạo ra các mẫu gán nhãn, nó phân tích tập các câu sử dụng bộ phân tích từ vựng Với mỗi cặp cụm danh từ cơ sở (ei, ej), hệ thống tìm đường ngắn nhất trên cây cú pháp mà kết nối chúng, và tạo một xâu quan
hệ và trích rút ứng diên từ các từ trong cây Nó áp dụng tập các ràng buộc khai thác với đường trên cây cú pháp kết nối chúng, và gán nhãn các ứng viên trích rút là đúng nếu tất cả các ràng buộc là thỏa mãn; ngược lại, sẽ được gán là không thỏa mãn Những ràng buộc thu được những khái niệm chung về loại quan hệ ngữ pháp cho thấy
có khả năng là một quan hệ ngữa nghĩa, một số ràng buộc được liệt kê trong bảng dưới
Trang 31Đường kết nối 2 thành phần mà mỗi thành phần
đĩ là tham số của quan hệ Đường kết nối khơng dài hơn một chiều dài tối đa cho trước
Đường kết nối khơng đi qua ranh giới câu
Khơng tham số nào chứa đại từ
Bảng 7 Ví dụ về các ràng buộc về đường trên cây cú pháp cĩ thể trích rút quan
hệ
Phân tích cú pháp đầy đủ là một tính tốn tốn chi phí khi áp dụng vào mơi trường Web Tuy nhiên, quá trình khởi động cĩ thể áp dụng một lượng ví dụ nhỏ các câu và bộ phân tích này sẽ khơng phải sử dụng đến trong quá trình trích rút sau nữa
Một khi tạo ra tập đào tạo được gán nhãn, mơ hình Nạve Bayes cĩ thể đào tạo theo cách chuẩn, bằng cách đếm tần suất của mỗi đặc trưng là đúng hay sai Bộ phân loại là đặc thù ngơn ngữ, nhưng nĩ khơng bao gồm các đặc trưng cú pháp hay quan
hệ Do đĩ, nĩ cĩ thể áp dụng vào các mối quan hệ tùy ý, trong một miền tri thức tùy
ý
2.2.2.4 Bộ đánh giá dựa trên sự dư thừa
Trong khi bộ phân loại tự giám sát cĩ thể xác định được trích rút nào là cĩ thể đúng với độ chính xác cao, cịn cĩ một nguồn bằng chứng khơng sử dụng trong các
dữ liệu lấy ra cĩ thể được khai thác để làm tăng độ chính xác hơn nữa Bộ đánh giá dựa trên sự dư thừa dựa trên mơ hình URNS[3], sử dụng bộ đếm tồn cục trong dữ liệu để gán cho mỗi trích rút một xác suất đúng đắn Các xác suất sau đĩ cĩ thể được
sử dụng để lọc các trích rút
Mơ hình URNS là mơ hình khơng giám sát để xác định tính đúng đắn của các trích rút dựa trên sự dư thừa của thơng tin trích rút Nếu một trích rút được thấy nhiều lần ở các câu khác nhau, mơ hình gán nĩ xác suất cao hơn nếu nĩ chỉ thấy một số lượng ít Tuy nhiên, điểm xác suất chính sách phụ thuộc vào tổng số trích rút Trong các thí nghiệm trước đây đã chứng tỏ gán xác suất chính xác hơn kỹ thuật dựa trên
mơ hình PMI
Trang 32URNS mô hình hóa trích rút thông tin như quá trình ném các bóng đã gán nhãn vào một cái rổ bằng cách thay thế Các nhãn biểu thị cho các xâu được trích rút; trong trường hợp của TextRunner mỗi bóng được gán nhãn bằng một bộ ba Bởi vì một số
bộ ba là có khả năng trích rút nhiều hơn các bộ khác, nên URNS cho phép các nhãn được lặp đi lặp lại trên nhiều bóng Có hai tham số được quan sát trong mô hình URNS, k lần mà một nhãn dược trích rút và tổng số lần ném n bóng vào rổ Cho hai
số này và một vài thông số mô tả tần suất các nhãn chính xác hay không chính xác vào trong rổ, mô hình URNS có thể gán một xác suất chính xácmà một nhãn cụ thể
là trích rút đúng hay không
Các tham số mô tả trong URN là:
C, là tập các nhãn khác nhau chính xác (trích rút)
E, là tập các nhãn khác nhau không chính xác hoặc nhãn lỗi
num(l), là số lượng bóng vào rổ với nhãn l, với mỗi l CE
Cho một tập các nhãn L, lấy |L| là số các nhãn duy nhất trong L Lấy num(L)
là đa tập hợp cho số lượng các bóng cho mỗi nhãn trong L Lấy |num(L)| là tổng số các bóng với mọi nhãn trong L, hoặc
L l
l num L
P x xuất hiện k lần trong n lần ném)
) (
)
' 1 ( )
' (
) 1 ( ) (
C num r
k n k
C num r
k n k
T
r T
r
T
r T
r
Sau trích rút, TextRunner đếm số các câu trích rút ra các bộ ba Sau khi sắp xếp các bộ ba, bộ đánh giá tính toán số lần mỗi xâu quan hệ được rút ra Hai thông số này được sử dụng để xem biết k và n để đánh giá điểm xác suất cho mỗi trích rút Các thông số khác được ước tính các dữ liệu chưa gán nhãn
Trang 332.2.3 So sánh KnowItAll và TextRunner
Alexander Yeates [8] đã làm một thí nghiệm để so sánh giữa KnowItAll và TextRunner Cho KnowItAll và TextRunner trích rút 9 triệu văn bản lấy từ môi trường Web Do KnowItAll không phải là hệ thống OIE, nên yêu cầu cần một tập các
vị từ đầu vào Thí nghiệm so sánh KnowItAll và TextRunner trên một tập mười vị từ được lựa chọn ngẫu nhiên từ các vị từ xuất hiện trong ít nhất 1,000 câu trong tập dữ liệu kiểm thử Mười vị từ đó được liệt kê trong bảng dưới
(<proper noun>, acquired, <proper noun>) (<proper noun>, graduated from, <proper noun>) (<proper noun>, is author of, <proper noun>) (<proper noun>, is based in, <proper noun>) (<proper noun>, studied, <noun phrase>) (<proper noun>, studied at, <proper noun>) (<proper noun>, was developed by, <proper noun>) (<proper noun>, was formed in, <year>)
(<proper noun>, was founded by, <proper noun>) (<proper noun>, worked with, <proper noun>)
Bảng 8 Mười vị từ sử dụng trong so sánh KnowItAll và TextRunner
Kết quả của mỗi hệ thống được tóm tắt trong bảng dưới Cả hai hệ thống tìm được cùng số lượng thể hiện của mười vị từ trên, nhưng tỷ lệ lỗi của TextRunner là 33% ít hơn so với KnowItAll Tuy nhiên, KnowItAll mất 63h CPU để trích rút các thể hiện cho 10 quan hệ, trung bình 6.3h cho một quan hệ Ngược lại, TextRunner mất 85h CPU để tìm thể hiện cho tất cả quan hệ mà nó có thể tìm được Mặc dù khó
để nói chính xác có bao nhiêu khác biệt, mối quan hệ chính xác trong trích rút của TextRunner vẫn lớn hơn nhiều so với KnowItAll
Trang 34Tỷ lệ lỗi trung bình Số trích rút chính xác
Bảng 9 So sánh kết quả thử nghiệm giữa TextRunner và KnowItAll
Với các phân tích và kết quả trên, rõ ràng phương pháp Open Information Extraction rất phù hợp cho việc trích rút các dữ liệu trong các bài toán độc lập với miền tri thức trên môi trường Web, tác giả quyết định sử dụng phương pháp Open Information Extraction để áp dụng vào bài toán trích rút giá cả cần xây dựng
Trong chương tiếp theo, tác giả sẽ trình bài chi tiết bài toán cần xây dựng cũng như ứng dụng cụ thể của Open Information Extraction vào bài toán như nào để đạt được sự hiệu quả và linh hoạt
Trang 35CHƯƠNG 3 MÔ TẢ BÀI TOÁNVÀ PHƯƠNG PHÁP GIẢI QUYẾT
3.1 Mô tả bài toán
Như đã trình bày ở các phần trên, tầm quan trọng của thông tin không còn chỉ dừng lại ở nhu cầu của một số người mà nó là nhu cầu bức thiết của các doanh nghiệp
và thậm chí là người tiêu dùng trong thời đại kinh tế thị trường hiện nay Việc nắm bắt thông tin một cách nhanh chóng, mang lại hiệu quả về kinh tế, chiến lược cạnh tranh và phát triển hiệu quả
Chương này sẽ trình bày về nhu cầu trích rút thông tin giá cả của các doanh nghiệp cung cấp dịch vụ thương mại điện tử, cũng như nhu cầu của người tiêu dùng trong việc theo dõi biến động giá cả sản phẩm để có thể mua được sản phẩm có giá tốt và phù hợp
3.1.1 Yêu cầu trích rút thông tin đối với các doanh nghiệp cung cấp dịch vụ thương mại điện tử
Kết quả điều tra, khảo sát của Bộ Công Thương với 3.400 doanh nghiệp trên
cả nước trong năm 2010 cho thấy, đến năm 2010 hầu hết các doanh nghiệp trên cả nước, hoạt động trong tất cả các lĩnh vực đã tổ chức triển khai ứng dụng thương mại điển tử ở nhiều mức độ và quy mô khác nhau Để bán hàng cũng như có chiến lược cạnh tranh tốt, một số doanh nghiệp phải liên tục nắm bắt thông tin giá của các đối thủ của mình để có chiến lược giá hợp lý Vì vậy, thông tin giá cả với các sản phẩm thay đổi chóng mặt từng ngày, từng giờ
Hiện nay, để nắm bắt được thông tin giá của các đối thủ của mình, các doanh nghiệp phải tổ chức một đội ngũ chuyên trách có nhiệm vụ thu thập thông tin giá của các sản phẩm trên các trang Web của đối thủ Sau đó, sẽ phải tổng hợp thông tin, báo cáo lên lãnh đạo để từ đó đưa ra các chiến lược giá cả nhằm nâng cao vị thế cạnh tranh