KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin TRÍCH CHỌN THÔNG TIN SẢN PHẨM VÀ DỊCH VỤ TỪ INTERNET VỚI AQL VÀ ỨNG DỤNG TRONG TÌM KIẾM THÔNG MINH Với ý tưởng xây dựng một hệ thống tìm kiếm thông minh cho các website thương mại điện tử hay các trang mua bán trực tuyến ứng dụng công nghệ trích chọn thông tin, tôi đề xuất bài toán: Trích chọn thông tin sản phẩm và dịch vụ từ Internet để làm nền tảng cho hệ thống. Để giải quyết bài toán này khóa luận chọn cách tiếp cận dựa trên luật sử dụng Annotation Query Language (AQL) – một cách tiếp cận vừa dễ thực hiện lại vừa đảm bảo đầy đủ các yêu cầu đối với một hệ thống trích chọn thông tin nói chung: độ chính xác, hiệu năng, tính minh bạch, khả năng mở rộng và tùy biến.
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Dương Quang Vũ
TRÍCH CHỌN THÔNG TIN SẢN PHẨM VÀ
DỊCH VỤ TỪ INTERNET VỚI AQL VÀ ỨNG DỤNG
TRONG TÌM KIẾM THÔNG MINH
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành:Công nghệ thông tin
Hà nội - 2016
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Dương Quang Vũ
TRÍCH CHỌN THÔNG TIN SẢN PHẨM VÀ
DỊCH VỤ TỪ INTERNET VỚI AQL VÀ ỨNG DỤNG
TRONG TÌM KIẾM THÔNG MINH
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành:Công nghệ thông tin
Cán bộ hướng dẫn:TS Phan Xuân Hiếu
Cán bộ hướng dẫn:TS Trần Trọng Hiếu
Hà nội - 2016
Trang 3VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY
Duong Quang Vu
PRODUCT AND SERVICE INFORMATION EXTRACTION FROM THE INTERNET WITH AQL AND ITS APPLICATON IN SMART SEARCH
Supervisor:Dr Phan Xuan Hieu
Co-Supervisor:Dr Tran Trong Hieu
Ha noi - 2016
HA NOI - 20<the last two numbers of the defense year >
Trang 4LỜI CẢM ƠN
Trước tiên, tôi xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới TS Phan Xuân Hiếu và TS Trần Trọng Hiếu đã tận tình chỉ bảo, hướng dẫn, động viên và giúp
đỡ tôi trong suốt quá trình thực hiện đề tài này
Tôi xin gửi lời cảm ơn sâu sắc tới quý thầy cô giáo trong Khoa Công nghệ thông tin nói riêng và trong trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội nói chung,
đã truyền đạt kiến thức quý báu cho tôi trong những năm học đại học
Tôi cũng xin gửi lời cảm ơn chân thành tới các anh chị, các bạn và các em trong phòng nghiên cứu công nghệ và tri thức và khoa học dữ liệu KT-Lab, đặc biệt là những thành viên trong nhóm MDN đã giúp đỡ tôi rất nhiều trong việc hỗ trợ các kĩ thuật chuyên môn để hoàn thành tốt khóa luận này
Tôi xin gửi lời cảm ơn sâu sắc tới người thân trong gia đình, bạn bè, những người
đã ở bên tôi những lúc khó khăn nhất, họ luôn động viên tôi, khuyến khích và truyền cảm hứng cho tôi trên con đường học tập
Cuối cùng, xin gửi lời cảm ơn đến tất cả bạn thành viên trong lớp K57-CLC đã ủng hộ, giúp đỡ tôi trong suốt bốn năm đại học và thực hiện đề tài này
Tôi xin chân thành cảm ơn!
Hà Nội, Ngày tháng năm 2016 Sinh viên
Dương Quang Vũ
Trang 5LỜI CAM ĐOAN
Tôi xin cam đoan khóa luận này được viết bởi tôi và những kĩ thuật sử dụng trong phần thực nghiệm là do tôi thực hiện dưới sự hướng dẫn của TS Phan Xuân Hiếu và
Người cam đoan
Dương Quang Vũ
Trang 6TÓM TẮT
Tóm tắt:
Trong những năm gần đây cùng với sự bùng nổ của thông tin trên Internet, việc trích chọn thông tin đã trở nên ngày càng quan trọng đối với một mảng lớn các ứng dụng doanh nghiệp như phân tích dữ liệu mạng xã hội, phân tích hồ sơ bệnh nhân, phân tích rủi ro tài chính, kinh doanh thông minh,…
Với ý tưởng xây dựng một hệ thống tìm kiếm thông minh cho các website thương mại điện tử hay các trang mua bán trực tuyến ứng dụng công nghệ trích chọn thông tin, tôi đề xuất bài toán: Trích chọn thông tin sản phẩm và dịch vụ từ Internet để làm nền tảng cho hệ thống Để giải quyết bài toán này khóa luận chọn cách tiếp cận dựa trên luật
sử dụng Annotation Query Language (AQL) – một cách tiếp cận vừa dễ thực hiện lại vừa đảm bảo đầy đủ các yêu cầu đối với một hệ thống trích chọn thông tin nói chung:
độ chính xác, hiệu năng, tính minh bạch, khả năng mở rộng và tùy biến
Từ khóa: Trích chọn thông tin, tìm kiếm thông minh, AQL
Trang 7ABSTRACT
Abstract:
In recent years, along with the explosion of information on the Internet, Information extraction has become increasingly important for a wide range of Enterprise Applications such as Social data analysis, patient profile analysis, financial risk analysis, smart business and so on
Deriving from the idea of building a smart searching system for e-commerce sites or online shopping sites using information extraction technology, I would like to propose the problem: Product and service information extraction from the Internet which is used
as the foundation for the system To solve this problem, this thesis is going to offer an rule-based approach of using Annotation Query Language (AQL), which is not only undemanding to implement but also able to ensure a full range of requirements for general information extraction systems such as: accuracy, efficiency, transparency, scalability and customization
Keywords: information extraction, smart seach, AQL.
Trang 8Mục lục
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
DANH SÁCH THUẬT NGỮ vii
DANH SÁCH HÌNH VẼ viii
DANH SÁCH BẢNG ix
Mở đầu 1
Chương 1 Trích chọn thông tin sản phẩm dịch vụ từ Internet và ứng dụng trong tìm kiếm thông minh 3
1.1 Bùng nổ thông tin và sự cần thiết của trích chọn thông tin 3
1.2 Tổng quan về trích chọn thông tin 4
1.2.1 Khái niệm trích chọn thông tin 4
1.2.2 Các bài toán con của trích chọn thông tin 5
1.3 Ý tưởng về tìm kiếm thông minh sử dụng trích chọn thông tin 6
1.4 Trích chọn thông tin sản phẩm và dịch vụ từ Internet 7
1.4.1 Phát biểu bài toán 7
1.4.2 Những khó khăn của bài toán 8
Chương 2 Cách tiếp cận cho bài toán trích chọn thông tin sản phẩm và dịch vụ từ Internet 9
2.1 Một số cách tiếp cận cơ bản 9
2.2 Các hệ thống trích chọn thông tin dựa trên luật 12
2.2.1 Tóm tắt lịch sử của trích chọn thông tin sử dụng luật 12
2.2.2 Cách tiếp cận ngữ pháp sử dụng Common Pattern Specification Language 12 2.2.3 Cách tiếp cận đại số sử dụng Annotation Query Language (AQL) 15
2.2.4 So sánh cách tiếp cận đại số và cách tiếp cận ngữ pháp 21
Chương 3 Trích chọn thông tin với Annotation Query Language - AQL 23
3.1 Giới thiệu AQL 23
3.2 Cú pháp của AQL 23
3.3 Một số lệnh cơ bản trong AQL 27
Chương 4 Thực nghiệm trích chọn thông tin và đánh giá kết quả 35
4.1 Công cụ thực nghiệm 35
4.1.1 Giới thiệu InfoSphere BigInsights TextAnalytics 35
Trang 94.1.2 Cách thức hoạt động của Framework 35
4.1.3 Cấu trúc của project sử dụng Text Analytics Framework 36
4.2 Dữ liệu đầu vào 37
4.3 Xác định các thực thể cần nhận dạng 38
4.4 Xây dựng bộ từ điển hỗ trợ việc nhận dạng thực thể 39
4.5 Xây dựng bộ luật để nhận dạng các thực thể 40
4.6 Đánh giá kết quả 47
Kết luận 50
Kết quả đạt được và những hạn chế 50
Định hướng trong tương lai 50
Tài liệu tham khảo 51
Trang 10DANH SÁCH THUẬT NGỮ Tiếng Anh/Từ viết tắt Giải thích nghĩa/Cụm từ đầy đủ
AQL Viết tắt của Annotation Query Language
CPSL Viết tắt của Common Pattern Specification Language
IE Viết tắt của Information Extraction
Regex Viết tắt của Regular Expression
span Một chuỗi được đánh dấu bởi chỉ số bắt đầu và kết thúc
token Tương đương với chữ trong tiếng Việt
view Một view là kết quả của một truy vấn AQL
Trang 11DANH SÁCH HÌNH VẼ
Hình 1.1 Minh họa về trích chọn thông tin 5
Hình 1.2 Mô hình hoạt động của hệ thống tìm kiếm thông minh 6
Hình 1.3 Minh họa về thông tin bán cấu trúc và phi cấu trúc từ Internet 7
Hình 2.1 Biểu đồ thống kê số lượng các bài báo nghiên cứu và sản phẩm thương mại liên quan đến IE 10
Hình 2.2 Các tầng ngữ pháp cho nhận dạng tên người 13
Hình 2.3 Quá trình biên dịch bên trong SystemT 17
Hình 2.4 Các kế hoạch thực thi có thể 21
Hình 4.1 Quá trình biên dịch và thực thi các luật 36
Hình 4.2 Cấu trúc của một project sử dụng Text Analytics framework 37
Hình 4.3 Luật trích chọn thực thể area 40
Hình 4.4 Luật trích chọn thực thể direction 41
Hình 4.5 Luật trích chọn thực thể location 42
Hình 4.6 Luật trích chọn thực thể numBedroom 43
Hình 4.7 Luật trích chọn thực thể numFloor 44
Hình 4.8 Luật trích chọn thực thể numWC 45
Hình 4.9 Luật trích chọn thực thể phone 45
Hình 4.10 Luật trích chọn thực thể price 46
Trang 12DANH SÁCH BẢNG
Bảng 2.1 Ưu nhược điểm của các hệ thống IE dựa trên luật và dựa trên học máy [4] 9
Bảng 2.2 Phân tích kết quả đầu ra của pha 1 14
Bảng 2.3 Toán tử đại số cho trích chọn thông tin 16
Bảng 2.4 Các vị từ để lựa chọn span 17
Bảng 3.1 Các thành phần chính trong cú pháp AQL 23
Bảng 3.2 Hai loại định danh trong AQL 24
Bảng 3.3 Các từ khóa trong AQL 24
Bảng 3.4 Các hằng số trong AQL 26
Bảng 4.1 Các thực thể cần trích chọn 38
Bảng 4.2 Các bộ từ điển hỗ trợ trích chọn thông tin 39
Bảng 4.3 Kết quả thực nghiệm độ chính xác 48
Bảng 4.4 Kết quả thực nghiệm hiệu năng 49
Trang 13Mở đầu
Trong những năm gần đây cùng với sự bùng nổ của thông tin trên Internet dữ liệu được sản sinh ra dường như là vô hạn Nếu các dữ liệu này có thể được xử lí và phân tích thì sẽ mang lại rất nhiều lợi ích to lớn, nhưng trước tiên nó cần được chuyển sang một dạng có cấu trúc hơn để phục vụ cho các mục đích khai thác khác nhau Trích chọn thông tin sẽ giúp thực hiện việc này Việc trích chọn thông tin đã ngày càng trở nên quan trọng đối với một mảng lớn các ứng dụng doanh nghiệp như phân tích dữ liệu mạng xã hội, phân tích hồ sơ bệnh nhân, phân tích rủi ro tài chính, kinh doanh thông minh,… Trong đó phải kể đến lĩnh vực đầy tiềm năng là tìm kiếm thông minh
Như chúng ta biết các website thương mại điện tử, rao vặt ngày càng càng xuất hiện nhiều và trở thành một phần không thể thiếu trong cuộc sống Giờ đây khi cần mua một sản phẩm nào đó người dùng không nhất thiết phải trực tiếp đi đến các cửa hàng để tìm mua nó, chỉ cần bỏ ra chút thời gian tìm kiếm trên các trang mua bán trực tuyến và một vài cú nhấp chuột là có thể dễ dàng đặt mua được thứ họ cần Có chăng chỉ là ở chỗ với hệ thống tìm kiếm đơn giản ở các website như hiện nay người dùng chỉ có thể tìm kiếm bằng một số từ khóa ngắn điều này sẽ làm tốn khá nhiều thời gian để lướt qua hàng trăm hoặc hàng ngàn các kết quả tìm kiếm trả về tương tự nhau để tìm ra sản phẩm phù hợp nhất Họ cũng có thể sử dụng các bộ lọc được tích hợp sẵn để cải thiện các kết quả tìm kiếm nhưng điều này cũng không thực sự thuận tiện vì không phải lúc nào các bộ lọc cũng cung cấp đầy đủ những tính năng cần thiết Không chỉ có vậy đôi khi giao diện của chúng cũng không thực sự thân thiện Vì vậy xây dựng được một hệ thống tìm kiếm thông minh giúp người dùng tiết kiệm được thời gian là rất quan trọng Với của hệ thống này là người dùng có thể nhập một câu mô tả bất kì về sản phẩm mình định mua hệ thống sẽ tự động tìm ra các từ khóa đặc trưng cho sản phẩm đó, tính toán mức độ trùng khớp với các sản phẩm trong cơ sở dữ liệu và trả về một tập các kết quả được xếp hạng theo độ trùng khớp từ cao đến thấp
Để làm được điều này chúng ta cần thiết phải trích chọn được các thông tin của từng loại sản phẩm, dịch vụ từ những câu tìm kiếm của người dùng hay các bài đăng trên các trang mua bán, rao vặt trực tuyến sau đó tái cấu trúc lại cho phù hợp với đặc tính của mỗi loại để có thể tổ chức lưu trữ, truy vấn hiệu quả
Đây là lí do chính thôi thúc tôi hoàn thành khóa luận này Khóa luận sẽ tập trung
mô tả về bài toán trích chọn thông tin sản phẩm và dịch vụ để ứng dụng trong hệ thống tìm kiếm thông minh nói trên và phân tích một cách tiếp cận mà theo tôi là rất phù hợp
để giải quyết bài toán đó
Trang 14Nội dụng của khóa luận được trình bày ở cụ thể trong 4 chương như sau:
Chương 1: Chương này giới thiệu khái quát về trích chọn thông tin nói chung và trích
chọn thông tin sản phẩm từ Internet nói riêng Bên cạnh đó chương này còn mô tả về ứng dụng của trích chọn thông tin trong tìm kiếm thông minh
Chương 2: Đưa ra một số cách tiếp cận để giải quyết bài toán và đề xuất sử dụng cách
tiếp cận dựa trên luật sử dụng Annotation Query Language Phần lớn chương này sẽ tập trung kĩ vào việc mô tả nền tảng lý thuyết, ưu điểm cũng như sự tối ưu hóa của cách tiếp cận này
Chương 3: Giới thiệu về Annotation Query Language, cú pháp cũng như các lệnh cơ
bản thường dùng để viết các luật trích chọn thông tin
Chương 4: Mô tả phần thực nghiệm trích chọn thông tin sử dụng Annotation Query
Language đối với các dịch vụ liên quan đến bất động sản và đánh giá kết quả
Phần kết luận: Tóm tắt kết quả đạt được của khóa luận, những mặt hạn chế và định
hướng phát triển tiếp trong tương lai
Trang 15Chương 1 Trích chọn thông tin sản phẩm dịch vụ từ Internet và ứng dụng trong tìm kiếm thông minh
1.1 Bùng nổ thông tin và sự cần thiết của trích chọn thông tin
Những năm gần đây, Internet có một sự tăng trưởng mạnh mẽ thông qua số lượng người dùng trên thế giới tăng theo cấp số nhân hàng năm Đi cùng với sự phát triển này
là hiện tượng bùng nổ thông tin trên Internet Theo Cisco1, lưu lượng IP toàn cầu sẽ vượt qua ngưỡng zettabyte (1024 exabytes) vào cuối năm 2016, và sẽ đạt 2 zettabyte mỗi năm hay 168 exabytes mỗi tháng vào năm 2019; tốc độ tăng trưởng hàng năm trong giai đoạn 2014-2019 rơi vào khoảng 23% Chúng ta cũng có thể dễ dàng thấy xu hướng của sự bùng nổ thông tin này qua sự phát triển của việc tìm kiếm thông tin trên Internet hay số lượt sử dụng các mạng xã hội, blog, email, …
Theo thống kê của Domo2 năm 2014 trong mỗi phút:
Google nhận được hơn 4 triệu truy vấn tìm kiếm từ Internet toàn cầu
Người dùng Facebook chia sẻ gần 2.5 triệu nội dung
Người dùng Twitter tweet gần 300.000 lần
Người dùng Instagram gửi gần 220.000 bức ảnh mới
Người dùng YouTube tải lên 72 giờ nội dung video mới
Apple người dùng tải về gần 50.000 ứng dụng
Người sử dụng email gửi hơn 200 triệu tin nhắn
Amazon tạo ra hơn 80,000$ trong bán hàng trực tuyến
Google3 đóng một vai trò lớn trong việc giúp người dùng Internet tìm kiếm dữ liệu trực tuyến, mỗi ngày Google sẽ xử lý đến 20 petabyte (1 petabyte bằng 1024 terabyte)
dữ liệu Lượng dữ liệu khổng lồ trên Internet hiện nay vừa là cơ hội cũng là thách thức cho các nhà khoa học, công ty hay tổ chức trong lĩnh vực khoa học dữ liệu Nếu có thể khai thác xử lí những dữ liệu này thì sẽ đem lại lợi ích vô cùng to lớn Nhưng trước tiên chúng cần được loại bỏ nhiễu, chuyển sang một dạng có cấu trúc hơn để phục vụ cho
1 http://www.cisco.com
2 https://www.domo.com
3 https://www.google.com/
Trang 16các mục đích phân tích và khai thác khác nhau Đây chính là mục đích của trích chọn thông tin
Việc trích chọn thông tin đã ngày càng trở nên quan trọng đối với một mảng lớn các ứng dụng doanh nghiệp như phân tích dữ liệu mạng xã hội, phân tích hồ sơ bệnh nhân, phân tích rủi ro tài chính, kinh doanh thông minh, …
1.2 Tổng quan về trích chọn thông tin
1.2.1 Khái niệm trích chọn thông tin
Có rất nhiều định nghĩa được đưa ra về trích chọn thông tin như:
Theo (Jim Cowie và Yorick Wilks) [1]: IE4 là tên được đặt cho quá trình cấu trúc
và kết hợp một cách có chọn lọc dữ liệu được tìm thấy trong một hay nhiều tài liệu văn bản
Theo Line Eikvil [2]: IE là lĩnh vực nghiên cứu hẹp của xử lý ngôn ngữ tự nhiên
và xuất phát từ việc xác định những thông tin cụ thể từ một tài liệu ngôn ngữ tự nhiên Mục đích của trích chọn thông tin là chuyển văn bản về dạng có cấu trúc Thông tin được trích chọn từ những nguồn tài liệu khác nhau và được biểu diễn dưới một hình thức thống nhất Những hệ thống trích chọn thông tin văn bản không nhằm mục tiêu hiểu văn bản đưa vào, mà nhiệm vụ chính của nó là tìm kiếm các thông tin cần thiết liên quan, mà chúng ta mong muốn được tìm thấy
Theo Yunyao Li [3]: Trích chọn thông tin là công việc tự động trích xuất thông tin có cấu trúc từ văn bản phi cấu trúc5 hoặc bán cấu trúc6
Ngoài ra các hoạt động gần đây trong xử lý tài liệu đa phương tiện như chú thích
tự động và trích chọn nội dung từ hình ảnh, âm thanh, video cũng có thể được xem như trích chọn thông tin
Ví dụ về trích chọn thông tin (hình 1.1): Từ một văn bản đầu vào phi cấu trúc ta trích chọn ra được những thông tin mong muốn và tái cấu trúc lại để dễ dàng cho việc phân tích dữ liệu
4 IE viết tắt của Information Extraction (Trích chọn thông tin)
5 Văn bản phi cấu trúc là những bài báo, tạp chí, bài đăng trên mạng xã hội, …
6 Văn bản bán cấu trúc là những văn bản có cấu trúc nhưng không chặt chẽ như cấu trúc trong cơ sở dữ liệu, nó có thể là bảng trong các bài báo hay, tài liệu dạng xml, … Các trang web thông thường cũng là một dạng tiêu biểu của văn bản bán cấu trúc
Trang 17Hình 1.1 Minh họa về trích chọn thông tin
1.2.2 Các bài toán con của trích chọn thông tin
Trích chọn thông tin là một bài toán lớn trong đó bao gồm một số bài toán con như sau:
Trích chọn tên thực thể:
o Nhận dạng tên thực thể: Xác định tên người, tên tổ chức, tên địa điểm, Ví dụ,
câu “Chủ tịch Hồ Chí Minh sinh ra và lớn lên ở Nghệ An” thì sẽ xác định ra tên người là Hồ Chí Minh và tên địa điểm là Nghệ An Đây là nhiệm vụ quan trọng
và xuất hiện trong hầu hết các hệ thống IE
o Phân giải đồng tham chiếu: Xác định các tham chiếu và trùng lặp giữa các thực
thể Ví dụ, “University of Engineering and Technolgy” và “UET” thực tế cùng tham chiếu đến một thực thể Hoặc có hai câu như sau: “Nguyễn Du là đại thi hào của dân tộc Ông được UNESCO công nhận là danh nhân văn hóa thế giới.” thì Ông ở đây chính là tham chiếu đến Nguyễn Du
o Trích chọn quan hệ: Xác định quan hệ giữa các thực thể như: Người làm việc
cho Tổ chức, ví dụ "Bill làm việc cho IBM"; Người sống ở Địa điểm, ví dụ "Bill
sống ở Pháp"
Trích chọn sự kiện: Đề cập đến nhiệm vụ xác định các sự kiện trong văn bản để
đưa ra các thông tin chi tiết về mô hình quan hệ như xác định người này đã làm gì, với ai, khi nào, ở đâu, Trích chọn sự kiện được coi là bài toán khó khăn nhất trong trích chọn thông tin
Trang 18 Trích chọn thông tin bán cấu trúc:
o Trích chọn bảng: Tìm kiếm và trích chọn bảng từ tài liệu
o Trích chọn nhận xét: Trích nhận xét từ thực tế nội dung của bài viết để khôi
phục lại liên kết giữa tác giả của mỗi câu
Phân tích ngôn ngữ và từ vựng:
o Trích chọn thuật ngữ: Tìm kiếm các thuật ngữ liên quan đến khái niệm được
đưa ra từ trước
Trích chọn âm thanh:
o Trích chọn nhạc dựa trên mẫu: Tìm kiếm đặc trưng có liên quan trong một tín
hiệu âm thanh được lấy từ một tiết mục nhất định
1.3 Ý tưởng về tìm kiếm thông minh sử dụng trích chọn thông tin
Ý tưởng về xây dựng một hệ thống tìm kiếm thông minh cho các website rao vặt, mua bán trực tuyến ứng dụng bài toán trích chọn thông tin được thể hiện bởi mô trong hình 1.2
Hình 1.2 Mô hình hoạt động của hệ thống tìm kiếm thông minh Đối với các website mua bán trực tuyến khi người dùng gõ vào ô tìm kiếm một sản
phẩm ví dụ: “smart phone android ram 3Gb chip lõi tứ giá dưới 5 triệu” thay vì tách ra
thành các từ và truy vấn cơ sở dữ liệu hệ thống sẽ trích chọn ra một số từ khóa như:
“android”, “3Gb”, “lõi tứ”, “5 triệu” Sau đó bộ xử lý sẽ dùng những thông tin này
làm từ khóa để truy vấn vào cơ sở dữ liệu và sau đó tính toán, xếp hạng và đưa các kết quả có độ trùng khớp từ cao tới thấp với cụm từ tìm kiếm của người dùng
Trang 19Một ví dụ khác đối với các trang rao vặt cho phép người dùng tự do đăng tải các thông tin lên Hệ thống sẽ tự động trích chọn thông tin từ các bài đăng này và cấu trúc lại để đưa vào cơ sở dữ liệu Sau đó hệ thống sẽ phân tích tìm ra và ghép nối những người có nhu cầu phù hợp với nhau (người mua – người bán, người thuê – người cần thuê, …) dựa trên cơ sở dữ liệu đã được xây dựng
Để xây dựng được hệ thống tìm kiếm thông minh như trên, điều cốt lõi là phải trích chọn ra được những thông tin quan trọng mô tả đặc tính của từng loại sản phẩm, dịch
vụ
1.4 Trích chọn thông tin sản phẩm và dịch vụ từ Internet
1.4.1 Phát biểu bài toán
Với mục đích trích chọn thông tin cho hệ thống tìm kiếm thông minh, bài toán
“Trích chọn thông tin sản phẩm và dịch vụ từ Internet” sẽ thuộc vào loại nhận dạng tên thực thể Các thực thể ở đây được hiểu là các thông tin mô tả về sản phẩm, dịch vụ
Hình 1.3 Minh họa về thông tin bán cấu trúc và phi cấu trúc từ Internet
1 <table width = "100%">
2 <tr>
3 <td class = "spectitle">Hãng sản xuất</td>
4 <td class = "speccontent">Samsung< br></td>
>Camera sau</a></td><td>12 MP<br
></td></tr><tr><td><a href = "java script:CallHelp(1,15)">Tốc Ä‘á
»™ CPU</a></td><td> core<br></td></tr><tr><td><a hre
Octa-f "javascript:CallHelp(1,19)">Ch
ip đồ há»a (GPU)</a></td><td
> T880 MP12<br></td></tr><tr><td><
Mali-a href = "javascript:CallHelp(1,26 )">Trá»ng lượng (g)</a></td>
<td>157g<br></td></tr><tr><td><a
href = "javascript:CallHelp(1,27)
" Loại pin</a></td><td> ion<br></td></tr></table>
Li-Nhà cho thuê tại 239 Lã Xuân Oai, Q.9 TP HCM, DT: 7x15 ,
Nhà mới tân trang, sạch đẹp, có cửa kính, có WC riêng, tiện làm VP, quầy dược, hoặc bán mỹ phẩm, dịch vụ chăm sóc sức khỏe, làm đẹp v.v
Giá thuê : 8 triệu/tháng (có thể linh động cho thuê nửa diện tích, giá 4 triệu/ tháng)
Liên hệ: 01267162256 (Ms Phuong)
Trang 20Đầu vào: Thông tin về các dịch vụ trên Internet như các bài đăng mua bán, tuyển dụng
hay thông tin về các sản phẩm từ các trang các trang rao vặt, thương mại điện tử, mạng
xã hội, … (Hình 1.3)
Đầu ra: Các thông tin (thực thể) đã được trích chọn và cấu trúc lại cho phù hợp với các mục đích khai thác khác nhau
1.4.2 Những khó khăn của bài toán
Việc trích chọn thông tin là một nhiệm vụ không hề đơn giản do sự phức tạp và
mơ hồ của ngôn ngữ tự nhiên:
Thứ nhất, dữ liệu từ Internet bao gồm các văn bản ngôn ngữ tự nhiên do người dùng tạo ra (như các bài đăng mua bán, tuyển dụng,…) nên rất đa dạng về cấu trúc
Thứ hai, văn bản ngôn ngữ tự nhiên thường có nhiều nhập nhằng về ngữ nghĩa
và phải phụ thuộc vào ngữ cảnh để xác định chính xác
Cuối cùng, dữ liệu thu thập về thường có nhiều từ viết tắt, viết hoa viết thường tùy tiện, sai lỗi chính tả, thậm chí là còn có thể gặp lỗi dính chữ Điều này cũng làm cho việc trích chọn thông tin gặp nhiều khó khăn hơn
Tóm tắt chương 1
Chương 1 đưa ra một cái nhìn tổng quan về bài toán trích chọn thông tin nói chung, trích chọn thông tin từ Internet nói riêng và một số khó khăn gặp phải khi giải quyết chúng Chương tiếp theo sẽ đưa ra cách tiếp cận phù hợp để giải quyết bài toán này
Trang 21Chương 2 Cách tiếp cận cho bài toán trích chọn thông tin sản phẩm và dịch vụ từ Internet
2.1 Một số cách tiếp cận cơ bản
Có hai cách tiếp cận cơ bản để giải quyết một bài toán IE nói chung đó là dựa trên luật (rule-based) và dựa trên học máy (machine learning based) Ngoài ra còn có cách tiếp cận lai (hybrid) kết hợp cả hai loại trên [4]
Cách tiếp cận dựa trên luật: Người phát triển trực tiếp viết ra các luật để trích
chọn thông tin Mức độ sơ cấp nhất của cách tiếp cận này là dùng biểu thức chính quy Ví dụ, khi cần trích chọn ra địa chỉ email trong văn bản ta có thể sử dụng
một biểu thức chính quy như sau: “[a-zA-Z][a-zA-Z0-9_.]+@[a-z.]+”
Cách tiếp cận dựa trên học máy: Người phát triển sử dụng những tập dữ liệu
được gán nhãn để xây dựng các mô hình dự đoán từ đó trích chọn ra các thông tin mong muốn Các thuật toán xây dựng mô hình thường được sử dụng như: Maximum Entropy, Hidden Markov Models, Conditional Random Fields
Cách tiếp cận lai: Tùy vào cách kết hợp hai cách tiếp cận trên mà có những ưu,
nhược điểm khác nhau
Mỗi cách tiếp cận đều mang lại những ưu, nhược điểm riêng cho hệ thống IE sử dụng chúng Bảng 2.1 sẽ tóm tắt ưu, nhược điểm của hệ thống IE dựa trên luật và dựa trên học máy
Bảng 2.1 Ưu, nhược điểm của các hệ thống IE dựa trên luật và dựa trên học máy [4]
• Dễ dàng để theo dõi và sửa chữa các nguyên nhân gây ra lỗi
• Cần thêm các luật một cách thủ công
• Đòi hỏi người viết luật phải có tri thức nhất định về loại thông tin cần trích chọn
• Cần phải tự suy luận ra các luận
Trang 22Hệ thống dựa
trên học máy
• Khả năng huấn luyện ra các
mô hình có khả năng dự đoán
• Yêu cầu kiến thức về học máy
để có thể sử dụng và bảo trì
• Các mô hình không trong suốt
Hình 2.1 đưa ra một cái nhìn tổng quan về tình hình nghiên cứu và ứng dụng của ba cách tiếp cận nói trên trong thực thế nghiên cứu và thương mại
Hình 2.1 Biểu đồ thống kê số lượng các bài báo nghiên cứu và sản phẩm thương mại liên
All Vendors Large Vendors
Implementation of Entity Extraction
Machine Learning Based Hybrid Rule-Based
Trang 23Kết quả thống kê ở cột đầu tiên được dựa trên 177 bài báo về trích chọn thông tin thông qua văn bản từ các hội nghị về xử lý ngôn ngữ tự nhiên như EMNLP7, ACL8 và NAACL9 trong giai đoạn 10 năm từ 2003 đến 2012
Cột thứ hai cho thấy kết quả của một cuộc khảo sát song song các sản phẩm trích
chọn thực thể thương mại từ 54 nhà cung cấp khác nhau được liệt kê trong Who’s in
Text Analytics 10, tháng 9 năm 2012 của Daniel Yuen và Hanns Koehler-Kruener Cột cuối cùng là kết quả của cuộc khảo sát đối với 41 sản phẩm về trích chọn thực thể của một số nhà cung cấp lớn vào năm 2013 [4]
Từ thống kê trên có thể dễ dàng nhận thấy rằng số lượng các nhà cung cấp dựa hoàn toàn vào học máy chỉ chiếm 1/3 tổng số Còn đối với phương pháp tiếp cận dựa trên luật tuy ít được quan tâm trong cộng đồng nghiên cứu nhưng lại thống trị trên thị trường thương mại trong đó phải kể đến các các nhà cung cấp lớn như: IBM, Microsoft,…
Lựa chọn cách tiếp cận cho bài toán:
Với bài toán Trích chọn thông tin sản phẩm và dịch vụ từ Internet đã đề cập ở trên,
khóa luận lựa chọn cách tiếp cận dựa trên luật vì một số ưu điểm của nó so với cách tiếp
cận dựa trên học máy Cụ thể là:
Đối với một tài liệu bán cấu trúc, rõ ràng việc xây dựng các luật sẽ nhanh hơn rất nhiều so với việc gán nhán dữ liệu và huấn luyện ra một mô hình
Nếu sử dụng luật, mỗi khi bổ sung thêm một luật mới, ta có thể nhanh chóng kiểm tra độ chính xác của kết quả Còn nếu sử dụng các mô hình học máy, mỗi khi tìm thêm được đặc trưng, ta phải huấn luyện lại mô hình rồi sau đó đánh giá lại độ chính xác
Nếu có một thực thể mới cần được nhận dạng khi dùng luật ta đơn giản chỉ cần suy nghĩ và viết ra các luật để nhận dạng nó, nếu sử dụng học máy thì ta bắt buộc phải gán nhãn cho thực thể đó và huấn luyện lại từ đầu
Sử dụng học máy sẽ gặp khó khăn khi các thực thể bị chồng chéo lên nhau trong khi sử dụng luật sẽ có thể giải quyết khá tốt vấn đề này
7 Tên viết tắt của Empirical Methods in Natural Language Processing
8 Tên viết tắt của The Association for Computational Linguistics (ACL)
9 Tên viết tắt của North American Chapter of the Association for Computational Linguistics
10 Chi tiết tham khảo ở https://www.gartner.com/doc/2160715/whos-text-analytics
Trang 242.2 Các hệ thống trích chọn thông tin dựa trên luật
2.2.1 Tóm tắt lịch sử của trích chọn thông tin sử dụng luật
Tuy ý tưởng về các hệ thống IE dựa trên luật đã có từ rất lâu nhưng nó chỉ thực sự bắt đầu phát triển mạnh sau hai hội thảo: Message Understanding Conference (MUC)
và Automatic Content Extraction (ACE) Hội nghị MUC được tổ chức bởi DARPA11 từ năm 1987 tới 1997 Trong giai đoạn này một số hệ thống IE đầu tiên được phát triển như: FRUMP, FASTUS, TextPro, PROTEUS Đến năm 1998 một tiêu chuẩn cho các
hệ thống IE dựa trên luật được công bố gọi là Common Pattern Specification Language (viết tắt là CPSL) Từ năm 1999 đến nay đã có rất nhiều sản phẩm trích chọn thông tin thương mại được phát triển, nổi bật là: GATE12, IBM InfoSphere BigInsights13, Microsoft FAST14
2.2.2 Cách tiếp cận ngữ pháp sử dụng Common Pattern Specification
Language (CPSL)
Đặc điểm của CPSL [5]: CPSL sử dụng một trình thông dịch Trình thông dịch này tạo ra các bộ chuyển đổi trạng thái hữu hạn Mỗi bộ chuyển đổi chấp nhận đầu vào và tạo ra đầu ra là một chuỗi có trình tự các chú thích phù hợp với đặc tả đối tượng chú giải của kiến trúc TIPSTER15 Các hoạt động cơ bản được thực hiện bởi trình thông dịch là kiểm tra xem chú thích tiếp theo trong chuỗi có một thuộc tính với một giá trị xác định bằng ngữ pháp được giải thích Trình thông dịch duy trì một con trỏ đánh dấu vị trí hiện tại đang được xem xét trong văn bản Tại mỗi vị trí có thể có nhiều luật trùng khớp Một trong những luật đó sẽ được lựa chọn như là và các luật còn lại sẽ bị loại bỏ Sau đó con trỏ sẽ trỏ đến một vị trí mới Trình thông dịch cung cấp một giao diện (interface) cho bất kỳ chức năng bên ngoài để mở rộng các chức năng cơ bản Các chức năng này nên được sử dụng một cách tiết kiệm và được ghi chép cẩn thận
Trong giai đoạn từ năm 2000 đến 2010, các hệ thống IE dựa trên luật chủ yếu được xây dựng bằng cách mô tả các tầng ngữ pháp sử dụng các tiêu chuẩn của CPSL [6] Một tầng ngữ pháp bao gồm một chuỗi các pha, mỗi pha trong số đó bao gồm một hoặc nhiều
Trang 25luật, giữa các luật lại có độ ưu tiên khác nhau Mỗi pha áp dụng luật của nó trên một chuỗi đầu vào từ trái sang phải và tạo ra một chuỗi đầu ra làm đầu vào cho pha tiếp theo Xét ví dụ về một hệ thống sử dụng tầng ngữ pháp để xác định tên người trong hình 2.2 [6] Ý tưởng của tầng ngữ pháp đó như sau:
Đầu tiên ta đưa vào một văn bản Văn bản đó sẽ được coi như một chuỗi các token16
Sau đó, pha thứ nhất P1 sẽ tìm trong chuỗi các token đó các tập thuộc tính (First,
Last, Caps) bằng hai cách: cách thứ nhất là dựa vào tìm kiếm trong Gazetteers - một từ
điển chứa tên và họ; cách thứ hai là tìm ra những token có chữ cái đầu tiên được viết hoa Những tập thuộc tính này rất có thể là tên hoặc một phần của tên cần xác định.Pha thứ hai P2 cung cấp một tập các luật để xác định một thực thể tên đầy đủ, ví
dụ như kết hợp hai token đầu ra của pha P1 là First và Last theo thứ tự tạo và còn nhiều
({First}) : fn → :fn.Person ({Last}) : ln → :ln.Person
Trang 26Áp dụng luật trên cho một đoạn văn bản đầu vào: “… Tomorrow, we will meet
Mark Scott, Howard Smith and …” Ta kì vọng rằng bộ luật này sẽ xác định ra hai tên
người là Mark Scott và Howard Smith Tuy nhiên thay vì tìm ra hai tên như trên thì bộ luật lại tìm ra ba tên là Mark, Scott và Howard Smith Vậy lí do ở đây là gì?
Để giải thích cho kết quả trên, đầu tiên ta xét token Mark được xác định chồng chéo bởi cả hai loại chú thích là Lookup và Token nên hệ thống sẽ tự loại bỏ đi một trong hai loại chú thích Do đó trong trường hợp này ta sẽ mất toàn bộ các thuộc tính Caps
trong đầu ra của pha P1
Ta xét tiếp một token khác là Howard Token này có thể thuộc hai thuộc tính là First và Last (do Caps đã bị loại bỏ bởi độ ưu tiên thấp nhất) Một lần nữa, First vẫn
được lựa chọn mặc dù cả hai có cùng độ ưu tiên là 50 nhưng luật R1 lại được khai báo trước luật R2 Cuối cùng với kết quả đầu ra ở pha P1 (như trong bảng 2.2) thì pha P2 sẽ cho ra kết quả không giống như kì vọng nói trên
Bảng 2.2 Phân tích kết quả đầu ra của pha 1
Mất mát các thuộc tính: Khi các cách chú thích chồng chéo lên nhau thì CPSL sẽ
tự động chọn một trong số chúng và loại bỏ tất cả phần còn lại
Hạn chế trong việc mô tả các luật: Không thể hiện được các luật phức tạp hoặc các luật cần có điều kiện
Do đó, chúng ta cần một cách tiếp cận vừa đảm bảo các yêu cầu của một hệ thống
IE thương mại: độ chính xác, hiệu năng, tính minh bạch, khả năng mở rộng và tùy biến; vừa khắc phục được những nhược điểm của các hệ thống dựa trên ngữ pháp sử dụng CPSL kể trên
Trang 272.2.3 Cách tiếp cận đại số sử dụng Annotation Query Language (AQL)
Phần này trình bày về cách tiếp cận đại số cho bài toán trích chọn thông tin được IBM (International Business Machines) nghiên cứu, phát triển từ năm 2007 và tiếp tục được cải tiến cho tới nay IBM đã xây dựng một thư viện trích chọn thông tin gọi là SystemT dựa trên nền tảng đại số Trong SystemT, người phát triển sẽ viết các luật trong một ngôn ngữ gọi là AQL Sau đó, hệ thống sẽ sinh ra một đồ thị của các toán tử được
mô tả trong AQL Việc phân tách này cho phép sự biểu diễn luật trở nên tốt hơn bởi vì các luật không bị ràng buộc bởi những yếu tố cần thiết để biên dịch thành một bộ chuyển đổi trạng thái hữu hạn Bên cạnh đó, cách tiếp cận tách biệt này dẫn đến sự linh hoạt hơn trong việc lựa chọn một chiến lược thực thi hiệu quả, bởi vì nhiều đồ thị toán tử có thể cùng tồn tại trong cùng một bộ chú giải AQL
của tài liệu
Một mô hình dữ liệu quan hệ đơn giản được tổ chức với ba loại dữ liệu: span,
tuple, và relation Một tuple là một dãy hữu hạn w các span từ <s1,…,sw>; với w là chiều
rộng của tuple Một relation là một tập của các tuple với ràng buộc là mỗi tuple trong
relation phải có cùng chiều rộng Mỗi toán tử đại số có không hoặc nhiều relation đầu
vào và tạo ra một relation đầu ra duy nhất
B Các toán tử đại số
Tập các toán tử đại số được sử dụng trong kế hoạch thực thi chia làm bốn loại17 như thể hiện trong bảng 2.3 Vì mô hình dữ liệu ở đây là một mở rộng của mô hình quan
17 https://www.ibm.com/support/knowledgecenter/SSPT3X_3.0.0/
Trang 28hệ trong cơ sở dữ liệu nên tất cả các toán tử quan hệ tiêu chuẩn (select , project , join,…) được áp dụng mà không có bất kỳ sự thay đổi nào Ngoài ra còn có một số vị từ lựa chọn
(bảng 2.4) [7] chỉ áp dụng cho các span
Bảng 2.3 Toán tử đại số cho trích chọn thông tin
Toán tử quan hệ
Các toán tử quan hệ thực hiện các hoạt
động khác nhau trên tập tuple Chúng
tương tự như các toán tử trong cơ sở dữ liệu quan hệ
NLJoin AdjacentJoin SortMergeJoin HashJoin RSEJoin Select Project Union Minus ApplyFunc GroupBy Sort
Toán tử trích chọn
span
Xác định các kiểu cơ bản ở mức độ thấp trong văn bản, thường là trích chọn các đặc trưng từ các biểu thức chính quy hoặc từ điển
RegularExpression RegexTok
FastRegex FastRegexTok RegexesTok Dictionary Dictionaries
Trang 29Toán tử chuyên
biệt
Thực hiện các loại trích chọn đặc biệt
mà không phù hợp với các loại toán tử khác
Split Detag HTML/XML
Các span chồng chéo nhau
s2 chứa hoàn toàn s1
Hai span giống nhau hoàn toàn
2.2.3.2 Bộ tối ưu hóa và đồ thị toán tử
Hệ thống IE dựa trên ngữ pháp (grammar-based IE) cứng nhắc trong thứ tự các luật có thể được thực thi Do tính ngữ nghĩa của tiêu chuẩn CPSL, các hệ thống dựa trên tiêu chuẩn này phải sử dụng một bộ chuyển đổi hữu hạn trạng thái để đánh giá từng cấp
độ của tầng ngữ pháp với một hoặc nhiều lượt từ trái qua phải qua toàn bộ chuỗi token Ngược lại, SystemT không ràng buộc rõ ràng về trình tự đánh giá luật, cũng không yêu cầu kết quả trung gian của một bộ chú giải cho một chuỗi kích thước cố định
Như thể hiện trong hình 2.2, hệ thống không thực thi AQL một cách trực tiếp; thay vào đó, bộ tối ưu hóa (Optimizer) của SystemT biên dịch AQL thành một đồ thị của các toán tử sau đó tính toán các chiến lược thực thi khác nhau, đánh giá chúng và lựa chọn chiến lược thực thi tốt nhất
Hình 2.3 Quá trình biên dịch bên trong SystemT Trong khi cơ sở dữ liệu truyền thống chức năng vào ra I/O được coi là chi phí quan trọng nhất thì mô hình chi phí ở đây lại tập trung vào việc giảm thiểu chi phí xử lý của các phép tính toán trong văn bản
AQL
Operator Graph SystemT
Optimizer
SystemT Runtime
Trang 30Có năm kỹ thuật tối ưu được sử dụng cho mục đích trên là:
Shared Dictionary Matching (SDM)
Regular Expression Strength Reduction (RSR)
Shared Regular Expression Matching (SRM)
Conditional Evaluation (CE)
Restricted Span Evaluation (RSE)
Shared Dictionary Matching (SDM)
SystemT Runtime có một toán tử Dictionary được gọi bởi lệnh extract dictionary Toán tử này sẽ trích chọn các token trong tài liệu mà khớp với các token được cung cấp trong từ điển Trên thực tế, toán tử này thực hiện ba hoạt động khác nhau:
1 Toán tử sẽ tokenize18 văn bản đầu vào và phân chia văn bản thành các token riêng biệt
2 Đối mỗi token đầu vào, toán tử sẽ tính toán một giá trị băm, và sử dụng mã băm
đó để thăm dò vào một bảng băm của các mục trong từ điển
3 Nếu tìm thấy một token trùng khớp, toán tử sẽ tạo tuple đầu ra chứa token đó
Trong trường hợp có nhiều lệnh extract dictionary trên cùng một văn bản nguồn, hai bước đầu tiên sẽ được chia sẻ giữa các bộ từ điển Có một toán tử đặc biệt
giúp hiện thực hóa việc chia sẻ này gọi là Dictionaries và bộ tối ưu hóa cố gắng tạo ra
toán tử này trong khi nó xem xét tất cả các kế hoạch thực thi có thể Việc chuyển đổi từ
nhiều toán tử Dictonary riêng biệt thành toán tử Dictionaries được gọi là Shared
Dictionary Matching nó có thể giúp giảm một lượng đáng kể chi phí xử lý
Regular Expression Strength Reduction (RSR)
Thành phần Runtime sử dụng hai engine19 để đánh giá các biểu thức chính quy:
1 Java’s built-in regular expression engine: engine này hỗ trợ một lớp lớn của các biểu thức chính quy, bao gồm cả các cấu trúc tiên tiến như backreference 20 , lookahead 21 , và lookbehind 22 Để hỗ trợ các cấu trúc tiên tiến như vậy phải dựa
18 Tokenize là một kĩ thuật để tách một chuỗi thành các chữ riêng lẻ gọi là các token
19 Engine là một thành phần nền tảng để những thành phần khác có thể chạy trên nó Trong ngữ cảnh này thì engine là thành phần bên dưới làm nhiệm vụ phân tích, đánh giá chúng
20 https://docs.oracle.com/javase
21 https://docs.oracle.com/javase
22 https://docs.oracle.com/javase
Trang 31trên đệ quy và quay lui, điều này có thể làm chậm một số loại biểu thức chính quy phổ biến trong trích chọn thông tin
2 SimpleRegex engine: Để giải quyết các vấn đề hiệu suất của các engine biểu biểu thức chính quy thông thường, Runtime có engine đánh giá biểu thức chính quy
của riêng mình với tên gọi SimpleRegex SimpleRegex dựa trên một thiết kế phương pháp Thompson NFA/DFA 23 Kết quả là tạo ra một engine có thể chạy các biểu thức chính quy phức tạp nhìn chung là nhanh hơn nhiều so với engine quay lui Một lợi ích khác của phương pháp này là engine có thể đánh giá nhiều biểu thức chính quy chỉ với một lượt, sử dụng một máy trạng thái đơn
Nhược điểm chính của phương pháp tiếp cận Thompson NFA/DFA là các tính năng tiên tiến của biểu thức chính quy trong Java hoặc POSIX (như backreferences và
lookahead) rất khó để thực hiện Vì vậy, không phải mọi lệnh extract regex có thể
được đánh giá với SimpleRegex Thay vào đó, bộ tối ưu hóa thực hiện một sự thay đổi
kế hoạch gọi là Regular Expression Strength Reduction
Bộ tối ưu hóa xét tất cả những biểu thức chính quy xuất hiện trong một lệnh extract regex và xác định xem biểu thức nào có thể được đánh giá với engine
SimpleRegex Nếu biểu thức tương thích với SimpleRegex, nó tạo ra một kế hoạch với
các toán tử (FastRegex và FastRegexTok) sử dụng SimpleRegex engine Nếu không, bộ
tối ưu hóa sẽ quay trở lại dùng engine gốc của Java
Shared Regular Expression Matching (SRM)
Engine SimpleRegex được sử dụng để Regular Expression Strength Reduction có
thể đánh giá nhiều biểu thức chính quy trong một lần trên văn bản mục tiêu Điều này
có thể mang lại hiệu năng tốt cho hệ thống Sự chuyển đổi này được gọi là Shared
Regular Expression Matching (SRM), và bộ tối ưu hóa nỗ lực để tạo ra các kế hoạch tận
dụng lợi thế của tính năng này
Lưu ý: Hiện nay, việc tối ưu hóa SRM chỉ được áp dụng trên lệnh extract regex
có chứa mệnh đề on between X and Y tokens Đây là một trong những lý do khiến
nó là một ý tưởng tốt khi sử dụng các biểu thức chính quy dựa trên token trong AQL
23 Text Analytics framework - IBM InfoSphere BigInsights Version 3.0