Tải bản đầy đủ (.pdf) (63 trang)

Đồ án tốt nghiệp 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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.84 MB, 63 trang )

ĐẠ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


ĐẠ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

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

nghệ thông tin

Hà nội - 2016

Cán bộ đồng hướng dẫn: (nếu có - chữ thường, 14pt, đậm)


VIETNAM 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.

Co-Supervisor:

Phan Xuan Hieu

Dr. Tran Trong Hieu


Ha noi - 2016

HA NOI - 20<the last two numbers of the defense year >


LỜ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ũ

i


LỜ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à
TS. Trần Trọng Hiếu.
Tất cả những tham khảo từ các nghiên cứu liên quan đều được nêu nguồn gốc một
cách rõ ràng từ danh mục tài liệu tham khảo trong khóa luận. Trong khóa luận, không
có việc sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về tài
liệu tham khảo.
Hà Nội, ngày

tháng

năm 2016

Người cam đoan

Dương Quang Vũ

ii


TÓ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.

iii


ABSTRACT

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.

iv


Mụ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

v


4.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

vi



DANH 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

vii


DANH 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

viii



DANH 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

ix


Mở đầ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 đó.
1


Nộ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.

2


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
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



3
/>2

3


cá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.

IE viết tắt của Information Extraction (Trích chọn thông tin).
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.
4
5

4



Hì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.

5






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.

6


Mộ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ụ.
1. <table width="100%">
2. <tr>
3. <td class="spectitle">Hãng sản
xuất</td>
4. <td class="speccontent">Samsung<
br></td>
5. </tr>
6. <tr>
7. <td class="spec-title">Xuất
xứ</td>
8. <td class="speccontent">Chính
hãng
</td>
9. </tr>
10. <tr><td>Hệ điều hành
</a></td><td>Android 6.0 (Marshm
allow)
</td></tr><tr><td>
ref="javascript:CallHelp(1,3)">L
oại mĂ n hình</a></td><td>Sup
er AMOLED
</td></tr><tr><td><
a href="javascript:CallHelp(1,7)

">Mà n hình rộng</a></td><td>
5.5 inch
</td></tr><tr><td>href="javascript:CallHelp(1,9)"
>Camera sau</a></td><td>12 MP></td></tr><tr><td>
Tốc Ä‘á
»™ CPU</a></td><td>Octacore
</td></tr><tr><td>
Nhà mới tân trang, sạch đẹp, có cửa kính, có WC riêng, tiện làm VP, f="javascript:CallHelp(1,19)">Ch
quầy dược, hoặc bán mỹ phẩm, dịch vụ
ip đồ họa (GPU)</a></td>chăm sóc sức khỏe, làm đẹp v.v....
>MaliGiá thuê : 8 triệu/tháng (có thể linh động cho thuê nửa diện tích, giáT880
4 triệu/
tháng)
MP12
</td></tr><tr><td><
Liên hệ: 01267162256 (Ms Phuong)
a href="javascript:CallHelp(1,26
)">Trọng lượng (g)</a></td>
<td>157g
</td></tr><tr><td>Hình 1.3. Minh họa về thông tin bán cấu trúc vàhref="javascript:CallHelp(1,27)
phi cấu trúc từ Internet
">Loại pin</a></td><td>Liion
</td></tr></table>

7


Đầ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.

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
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]
Ưu điểm

Nhược điểm

• Trực tiếp khai báo các luật
• Dễ dàng để hiểu

• Đòi hỏi người viết luật phải có
tri thức nhất định về loại thông tin
• Dễ dàng để kết hợp các miền
cần trích chọn
kiến thức
• Cần phải tự suy luận ra các luận
• Dễ dàng để theo dõi và sửa
• Dễ dàng để bảo trì

Hệ thống dựa

trên luật

• Cần thêm các luật một cách thủ
công

chữa các nguyên nhân gây ra
lỗi

9


• Khả năng huấn luyện ra các • Yêu cầu dữ liệu phải được gán
mô hình có khả năng dự đoán

nhãn

• Thích nghi
Hệ thống dựa
trên học máy

• Cần huấn luyện và cải thiện
• Giảm thiểu việc thêm các luật nhiều lần để đạt kết quả mong
muốn
một cách thủ công
• 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.


Implementation of Entity Extraction
100%

4

90%
21
80%

45

70%

66

60%
50%
40%

22
75

30%
17
20%

33

10%


17

0%
NLP Paper
(2003-2012)

All Vendors

Machine Learning Based

Hybrid

Large Vendors
Rule-Based

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 [4].

10


Kế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 Analytics10, 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.

Tên viết tắt của Empirical Methods in Natural Language Processing
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 ở />7
8

11



2.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


Tên viết tắt của Defense Advanced Research Projects Agency Cơ quan các dự án phòng thủ tiên tiến
trực thuộc Lầu Năm Góc, Hoa Kỳ.
12
/>13
/>14
/>15
/>11

12


luậ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
luật khác nữa.
Phase

P1

Types


Ruled

Rule Patterns

Priority

Input

P1R1

({Lookup.majorType = FirstGaz}) : fn → :fn.First

50

Lookup

P1R2

({Lookup.majorType = LastGaz}) : ln → :ln.Last

50

Token

P1R3

({Token.orth = upperInital}) : cw → :cw.Caps

10


Input

P2R1

({First} {Last}) : full → :full.Person

50

First

P2R2

({Caps} {Last}) : full → :full.Person

20

Last

P2R3

({Last} {Token.orth = comma} {Caps | First}) :

10

Caps

P2R4

reverse → :reverse.Person


Token

P2R5

Output
First
Last
Caps

P2

Output
Person

({First}) : fn → :fn.Person

10

({Last}) : ln → :ln.Person

10

Hình 2.2. Các tầng ngữ pháp cho nhận dạng tên người

Một token có thể coi như là một chữ trong tiếng Việt

16

13



×