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

Nghiên cứu, xây dựng ứng dụng đọc tin nhanh bằng cách trích rút và tổng hợp thông tin từ các trang web

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 (3.63 MB, 110 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG

NGUYỄN THỊ KHUYẾN

NGHIÊN CỨU, XÂY DỰNG ỨNG DỤNG
ĐỌC TIN NHANH BẰNG CÁCH TRÍCH RÚT VÀ
TỔNG HỢP THƠNG TIN TỪ CÁC TRANG WEB

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Đà Nẵng - Năm 2016


BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG

NGUYỄN THỊ KHUYẾN

NGHIÊN CỨU, XÂY DỰNG ỨNG DỤNG
ĐỌC TIN NHANH BẰNG CÁCH TRÍCH RÚT VÀ
TỔNG HỢP THƠNG TIN TỪ CÁC TRANG WEB

Chun ngành: Hệ thống thông tin
Mã số: 60.48.01.04

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Ngƣời hƣớng dẫn khoa học: TS. HUỲNH CÔNG PHÁP

Đà Nẵng - Năm 2016




LỜI CAM ĐOAN
Tơi xin cam đoan đây là cơng trình nghiên cứu của riêng tôi dưới sự
hướng dẫn trực tiếp của thầy TS. Huỳnh Công Pháp.
Các số liệu kết quả nêu trong luận văn là trung thực và chưa từng được
cơng bố trong bất kỳ cơng trình nào khác.
Tác giả

NGUYỄN THỊ KHUYẾN


MỤC LỤC
MỞ ĐẦU .......................................................................................................... 1
1. Lý do chọn đề tài ..................................................................................... 1
2. Mục tiêu và nhiệm vụ.............................................................................. 3
3. Đối tƣợng và phạm vi nghiên cứu........................................................... 3
4. Phƣơng pháp nghiên cứu......................................................................... 3
5. Ý nghĩa khoa học và thực tiễn của đề tài ................................................ 4
6. Bố cục của luận văn ................................................................................ 4
CHƢƠNG 1. CƠ SỞ LÝ THUYẾT ............................................................... 6
1.1. XỬ LÝ NGÔN NGỮ TỰ NHIÊN ............................................................. 6
1.1.1. Giới thiệu về xử lý ngôn ngữ tự nhiên .............................................. 6
1.1.2. Khái niệm cơ bản về ngôn ngữ tự nhiên ........................................... 7
1.1.3. Khái niệm cơ bản về xử lý ngôn ngữ tự nhiên.................................. 7
1.2. KHAI PHÁ DỮ LIỆU.............................................................................. 12
1.2.1. Định nghĩa khai phá dữ liệu ............................................................ 12
1.2.2. Các dạng dữ liệu trong khai phá dữ liệu ......................................... 13
1.2.3. Các hƣớng nghiên cứu trong khai phá dữ liệu ................................ 14
1.2.4. Các ứng dụng của khai phá dữ liệu ................................................. 14

1.3. KHAI PHÁ DỮ LIỆU WEB .................................................................... 15
1.3.1. Khái quát về khai phá dữ liệu web.................................................. 15
1.3.2. Các bƣớc của quá trình khai phá dữ liệu web ................................. 16
1.3.3. Các lĩnh vực của khai phá dữ liệu web ........................................... 18
1.3.4. Những khó khăn và thuận lợi trong khai phá dữ liệu web.............. 19
1.4. TỔNG KẾT CHƢƠNG 1 ........................................................................ 20
CHƢƠNG 2. GIẢI PHÁP TRÍCH RÚT VÀ TỔNG HỢP THÔNG TIN
ĐỂ XÂY DỰNG ỨNG DỤNG ĐỌC TIN NHANH .................................... 21
2.1. BÀI TỐN TRÍCH RÚT THƠNG TIN .................................................. 21
2.1.1. Giới thiệu sơ lƣợc về bài tốn trích rút thơng tin ............................ 21


2.1.2. Dữ liệu của bài tốn trích rút thơng tin ........................................... 24
2.1.3. Hƣớng tiếp cận giải quyết bài tốn trích rút thông tin .................... 25
2.1.4. Phân loại các hệ thống trích rút thơng tin ....................................... 26
2.2. BÀI TỐN TRÍCH RÚT THƠNG TIN TỪ TRANG WEB ................... 27
2.2.1. Trích rút thơng tin từ trang web dựa trên cấu trúc cây DOM ......... 28
2.2.2. Giới thiệu về trích rút thơng tin sử dụng biểu thức chính quy........ 35
2.3. ÁP DỤNG PHƢƠNG PHÁP TRÍCH RÚT THƠNG TIN ĐỂ XÂY
DỰNG ỨNG DỤNG ĐỌC TIN NHANH ...................................................... 37
2.3.1. Các chức năng chính của ứng dụng đọc tin nhanh ......................... 38
2.3.2. Các phƣơng pháp xây dựng trang tin cho ứng dụng ....................... 39
2.3.3. Sử dụng cây DOM để trích rút thơng tin cho ứng dụng đọc tin
nhanh ............................................................................................................... 41
2.3.4. Giới thiệu về thuật tốn trích rút thân văn bản Body Text
Extraction ........................................................................................................ 49
2.3.5. Các giải pháp tổng hợp thông tin cho ứng dụng ............................. 50
2.4. TỔNG KẾT CHƢƠNG 2 ......................................................................... 51
CHƢƠNG 3. PHÁT TRIỂN ỨNG DỤNG ĐỌC TIN NHANH BẰNG
CÁCH TRÍCH RÚT THƠNG TIN TỪ CÁC TRANG WEB.................... 52

3.1. CÀI ĐẶT MÔI TRƢỜNG PHẦN CỨNG VÀ PHẦN MỀM ................. 52
3.1.1. Một số hệ thống đọc tin nhanh đã đƣợc xây dựng ......................... 52
3.1.2. Xây dựng ứng dụng chạy độc lập trên thiết bị di động .................. 54
3.1.3. Lựa chọn cơng cụ và mơi trƣờng lập trình android........................ 55
3.1.4. Cài đặt JDK và cấu hình biến mơi trƣờng ...................................... 56
3.1.5. Cài đặt phần mềm Android Studio ................................................. 57
3.1.6. Cài đặt máy ảo Genymotion ........................................................... 58
3.1.7. Các công cụ phần mềm khác .......................................................... 62
3.2. CÁC CHỨC NĂNG CƠ BẢN CỦA HỆ THỐNG ĐỌC TIN NHANH . 62
3.2.1. Chức năng tạo tài khoản và đăng nhập hệ thống ............................ 63


3.2.2. Chức năng xem thông tin tài khoản ................................................ 63
3.2.3. Chức năng cập nhật thông tin tài khoản.......................................... 63
3.2.4. Chức năng quản lý các trang tin tức ............................................... 64
3.2.5. Chức năng đọc tin dựa vào trang tin ngƣời dùng đã lƣu ................ 64
3.2.6. Chức năng đọc tin dựa trên việc ngƣời dùng cung cấp RSS .......... 64
3.2.7. Chức năng đọc tin mặc định của hệ thống ...................................... 65
3.3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG ĐỌC TIN NHANH .................... 65
3.3.1. Xác định tác nhân và ca sử dụng .................................................... 65
3.3.2. Biểu đồ Use Case ............................................................................ 67
3.3.3. Sơ đồ hoạt động của ứng dụng đọc tin nhanh ................................. 70
3.3.4. Mơ hình thực thể liên kết ................................................................ 74
3.3.5. Thiết kế cơ sở dữ liệu của ứng dụng ............................................... 76
3.4. CÀI ĐẶT VÀ THỬ NGHIỆM ỨNG DỤNG .......................................... 78
3.4.1. Giao diện trang đăng nhập .............................................................. 78
3.4.2. Giao diện của trang đăng ký tài khoán ........................................... 79
3.4.3. Giao diện của trang danh mục chức năng ....................................... 80
3.4.4. Giao diện của trang thông tin ngƣời dùng ...................................... 81
3.4.5. Giao diện của trang chủ .................................................................. 82

3.4.6. Giao diện của trang đọc tin RSS ..................................................... 83
3.4.7. Giao diện chức năng quản lý trang ................................................. 84
3.4.8. Giao diện chức năng đọc tin tức tổng hợp ...................................... 85
3.5. TỔNG KẾT CHƢƠNG 3 ........................................................................ 90
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ................................................... 91
DANH MỤC TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (bản sao)
PHỤ LỤC


DANH MỤC CÁC TỪ VIẾT TẮT
Tiếng nƣớc ngoài
ADV

Android Virtual Device

CSO

Computer Science Ontology

DAML

DARPA Agent Markup Language

DOM

Document Object Model

DTD


Document Type Definition

FTP

File Transfer Protocol

GPRS

General Packet Radio Service

HTML

HyperText Markup Language

HTTP

The Hypertext Transfer Protocol

IE

Information Extraction

IEEE

Institute of Electrical and Electronics Engineers

ISBN

International Standard Book Number


KDD

Knowledge Discovery in Database

LSI

Latent Semantic Indexing

NISR

National Institute of Standards and Technology

RDF

Resource Description Framework

RDFS

Resource Description Framework Schema

URL

Uniform Resource Locator

URI

Uniform Resource Identifier

XHTML


Extensible HyperText Markup Language

XML

eXtensible Markup Language

WWW

World Wide Web

Tiếng Việt
CSDL

Cơ sở dữ liệu

ĐH

Đại học

STT

Số thứ tự


DANH MỤC CÁC BẢNG
Số hiệu

Tên bảng

bảng


Trang

2.1.

Cấu trúc chi tiết trích rút thông tin từ trang tin tức

39

2.2.

Các phƣơng pháp xây dựng trang tin cho ứng dụng

40

3.1.

Yêu cầu phần cứng để cài đặt Android Studio và chạy máy
ảo

56

3.2.

Danh sách các phần mềm cần cài đặt để lập trình android

57

3.3.


Một số phần mềm sử dụng trong thực nghiệm

62

3.4.

Quan hệ giữa các tác nhân và ca sử dụng

66

3.5.

Các thành phần trong mơ hình Use Case của hệ thống

68


DANH MỤC CÁC HÌNH
Số hiệu

Tên hình

hình

Trang

1.1.

Cấu trúc nội dung của một văn bản web


16

1.2.

Các bƣớc của quá trình khai phá dữ liệu web

17

2.1.

Bài tốn trích rút thơng tin cho dữ liệu khơng có cấu trúc

22

2.2.

Ví dụ về tính cấu trúc của trang web bán cấu trúc

25

2.3.

Dạng biểu diễn cây DOM của mã HTML

28

2.4.

Ví dụ xây dựng cây DOM sử dụng hộp ảo


30

2.5.

Mơ tả mẫu trích tiêu đề và nội dung bài báo

31

2.6.

Các bƣớc trích rút thơng tin dựa trên cấu trúc cây DOM

42

2.7.

Truy vấn nội dung trang web bằng CSS Selector Queries

43

2.8.

Cây DOM để trích rút thơng tin bảng xếp hạng

44

2.9.

Nội dung trang web thethao247


45

2.10.

Cấu trúc HTML của trang web thethao247

46

2.11.

Thơng tin Bảng Xếp Hạng Bóng Đá của trang web
thethao247

47

2.12.

Cấu trúc mã HTML Bảng Xếp Hạng trang web thethao247

47

3.1.

Sơ đồ ứng dụng đọc tin nhanh trên thiết bị di động

53

3.2.

Một số ứng dụng đọc tin tức trên kho ứng dụng Play Store


55

3.3.

Cửa sổ tạo biến môi trƣờng

57

3.4.

Cửa sổ cài đặt Plugin trong Android Studio

59

3.5.

Cửa sổ đăng nhập Genymotion

60

3.7.

Kết quả chạy ứng dụng trên máy ảo

61

3.8.

Biểu đồ Use Case của hệ thống đọc tin nhanh


67

3.9.

Sơ đồ hoạt động đăng ký tài khoản mới

70

3.10.

Sơ đồ hoạt động đăng nhập

71


Số hiệu

Tên hình

hình

Trang

3.11.

Sơ đồ hoạt động xem thơng tin tài khoản

71


3.12.

Sơ đồ hoạt động ngƣời dùng quản lý trang đã lƣu

71

3.13.

Sơ đồ hoạt động ngƣời dùng xem tin từ các trang đã lƣu

72

3.14.

Sơ đồ hoạt động ngƣời dùng xem tin mặc định của hệ thống

72

3.15.

Sơ đồ hoạt động ngƣời dùng xem tin bằng cách cung cấp
URL

73

3.16.

Sơ đồ hoạt động admin quản lý tài khoản của ngƣời dùng

73


3.17.

Sơ đồ hoạt động admin quản lý các bài viết mặc định

74

3.18.

Mơ hình thực thể liên kết của hệ thống

74

3.19.

Giao diện trang đăng nhập

79

3.20.

Giao diện trang đăng ký tài khoản

80

3.21.

Giao diện trang danh mục chức năng

81


3.22.

Giao diện trang thông tin ngƣời dùng

82

3.23.

Giao diện trang chủ

82

3.24.

Giao diện trang chủ chi tiết

83

3.25.

Giao diện trang đọc tin RSS

84

3.26.

Giao diện chức năng quản lý trang

84


3.27.

Giao diện chức năng xem tin tức về giá vàng

85

3.28.

Giao diện chức năng xem tin dự báo thời tiết

86

3.29.

Giao diện chức năng xem thông tin tỉ giá ngoại tệ

87

3.30.

Giao diện chức năng xem kết quả xổ số

87

3.31.

Giao diện trang đọc tin tức bảng xếp hạng bóng đá

88


3.32.

Trang đọc tin tức lịch thi đấu bóng đá

89

3.33.

Trang đọc tin tức kết quả bóng đá

89


1

MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay công nghệ thơng đóng một vai trị rất quan trọng trong hầu
hết các lĩnh vực của đời sống xã hội. Sự phát triển nhanh chóng của của cơng
nghệ thơng tin nói chung và cơng nghệ World Wide Web nói riêng đã tạo ra
một nguồn tài nguyên thông tin vô cùng rộng lớn, một kho tàng tri thức phong
phú cho nhân loại. Tuy nhiên, nguồn tài nguyên thông tin này không biểu diễn
một cách tập trung mà nằm rải rác phân tán khắp nơi trên mạng, không đƣợc
sắp xếp, phân loại nhƣ mong muốn đã gây khơng ít những khó khăn cho con
ngƣời khi tìm kiếm và khai thác thơng tin. Trong hồn cảnh đó, trích rút và
tổng hợp thơng tin ra đời giúp việc tìm kiếm và thu thập thơng tin trở nên hiệu
quả, tiết kiệm thời gian và công sức trong việc sàng lọc và tổng hợp tri thức.
Nhƣ tìm hiểu, tơi biết đƣợc trích rút thơng tin là một trong những
phƣơng thức điển hình của chủ đề khai thác nguồn thơng tin bao gồm:

- Tìm kiếm thơng tin (Information Retrieval)
- Tóm lƣợc văn bản (Text Summarization)
- Trích rút thơng tin (Information Extraction)
Trích rút thơng tin là phƣơng thức trích chọn để lấy ra thơng tin hữu ích
từ kho thơng tin chƣa đƣợc tổng hợp chọn lọc. Trích rút thơng tin từ trang
web là công nghệ bao gồm nhiều phƣơng thức giúp trích xuất một phần thơng
tin hữu ích theo mục đích từ các trang web chứa nhiều danh mục, chủ đề, nội
dung khác nhau. Khi sử dụng cơng nghệ trích rút thơng tin, con ngƣời khơng
cịn phải mất nhiều thời gian để đọc hết các kết quả tìm kiếm trên mạng hay
các trang web với nhiều những thông tin, nội dung dung không liên quan để
lọc ra những tin cần thiết. Ví dụ nhƣ khi chúng ta đọc báo trên mạng, các
trang web chứa đầy các nội dung quảng cáo, các danh mục, các bài viết. Để


2

biết đƣợc kết quả bóng đá, xổ số, bảng tin chứng khốn hay một mục nào đó,
chúng ta phải lƣớt hết nội dung của trang web và tìm ra phần nội dung cần
thiết. Việc làm đó khơng những lãng phí thời gian mà cịn gây ra tình trạng
tốn lƣu lƣợng, tốn bộ nhớ.
Nhƣ chúng ra đã biết, một thành quả lớn của cơng nghệ thơng tin và
cơng nghệ Internet đó là sự ra đời của báo điện tử đã thay đổi diện mạo của
phƣơng thức tiếp cận tri thức, cũng nhƣ thay đổi trong thói quen đọc báo của
con ngƣời so với trƣớc đây. Với ƣu thế về tốc độ và khả năng vƣơn xa,
Internet giúp cho độc giả có thể tiếp cận tin tức mọi lúc, mọi nơi với sự hỗ trợ
của các thiết bị di động thông minh nhƣ điện thoại di động thông minh
(smartphone), thiết bị đọc sách thơng minh (playbook), máy tính cầm tay
thơng minh (tablet),... Ngày nay các thiết bị di động thông minh ngày càng
phổ biến với giá cả ngày càng hạ đã trở thành công cụ truy cập thông tin đắc
lực không thể thay thế. Các thiết bị di động thông minh không những giao

diện đẹp, thiết bị gọn nhẹ, mà còn hỗ trợ truy cập Internet với nhiều loại hình
nhƣ mạng 3G, mạng không dây, GPRS,… đã tạo tiền đề cho việc đáp ứng nhu
cầu xem tin tức, đọc báo điện tử ngày càng đƣợc phổ biến và trở thành nhu
cầu thiết yếu, không thể thay thế của ngƣời dùng.
Tuy nhiên, việc đọc báo trên các thiết bị di động còn nhiều bất tiện vì
khung màn hình nhỏ của thiết bị di động không cho phép hiển thị trang web
đƣợc thiết kế cho máy tính để bàn, phơng chữ thƣờng bị lỗi, thông tin quảng
cáo và tiêu đề của ứng dụng cũng đƣợc tải về cùng lúc với ứng dụng làm giảm
tốc độ và gây khó chịu cho ngƣời dùng,… Chính vì vậy, mục đích của luận
văn này là xây dựng một hệ thống cho phép dễ dàng và thuận tiện xem tin tức
tiếng Việt của báo điện tử bất kỳ trên thiết bị di động thông minh, mà chi tiết
hơn là trên thiết bị di động hệ điều hành android.
Đó cũng chính là lý do tơi chọn đề tài “Nghiên Cứu, Xây Dựng Ứng


3

Dụng Đọc Tin Nhanh Bằng Cách Trích Rút Và Tổng Hợp Thông Tin Từ Các
Trang Web”.
Luận văn tập trung nghiên cứu các phƣơng pháp trích rút và tổng hợp
thơng tin từ trang web. Trên cơ sở đó xây dựng ứng dụng đọc tin nhanh thiết
bị di động android dựa trên phƣơng pháp trích rút và tổng hợp thơng tin từ các
trang web tiếng Việt. Đồng thời luận văn cũng tập trung nghiên cứu khắc
phục hạn chế của các ứng dụng đọc đã từng đƣợc xây dựng trƣớc đó nhƣ tình
trạng trùng lặp thông tin, các quảng cáo, tiêu đề của ứng dụng chiếm diện tích
và tốn lƣu lƣợng ứng dụng.
2. Mục tiêu và nhiệm vụ
Mục tiêu của luận văn là nghiên cứu và đề xuất các phƣơng pháp trích
rút, tổng hợp thơng tin từ trang web. Sau đó áp dụng thuật tốn trích rút thơng
tin để xây dựng ứng dụng thiết bị di động sử dụng hệ điều hành android.

Luận văn tập trung vào nghiên cứu tìm hiểu những nội dung sau đây:
Thứ nhất, nghiên cứu các nội dung lý thuyết liên về xử lý ngôn ngữ tự
nhiên, khai phá dữ liệu web.
Thứ hai, nghiên cứu các thuật tốn trích rút thông tin từ trang web.
Từ những lý thuyết và kiến thức thu đƣợc sau khi nghiên cứu những
nội dung trên, luận văn tập trung vào “Xây dựng ứng dụng đọc tin nhanh trên
thiết bị di động android” đáp ứng nhu cầu cập nhật tin tức nhanh chóng hiệu
quả.
3. Đối tƣợng và phạm vi nghiên cứu
Luận văn nghiên cứu xây dựng ứng dụng đọc tin nhanh trên thiết bị di
động, nhƣng chỉ tập trung vào thiết bị di động android.
4. Phƣơng pháp nghiên cứu
Luận văn sử dụng các phƣơng pháp nghiên cứu sau:
Thứ nhất, tổng hợp các kết quả nghiên cứu từ các tƣ liệu liên quan về


4

xử lý ngôn ngữ tự nhiên, khai phá dữ liệu, khai phá dữ liệu web và kỹ thuật
trích rút thơng tin từ trang web.
Thứ hai, phân tích đánh giá các phƣơng pháp và đề xuất các giải pháp
lựa chọn để xây dựng ứng dụng có hiệu quả nhất.
Từ những giải pháp lựa chọn đã đề xuất, chọn ra một phƣơng pháp hiệu
quả để áp dụng cho việc xây dựng ứng dụng đọc tin nhanh trên thiết bị di
động android.
5. Ý nghĩa khoa học và thực tiễn của đề tài
Đề tài tập trung nghiên cứu, tìm hiểu về phƣơng pháp trích rút thông tin
tự động từ trang web, là phƣơng pháp mà hầu hết tất cả các trang web tổng
hợp tin đều sử dụng để trích rút thơng tin từ các nguồn. Nhất là việc trùng lặp
thông tin khiến cho ngƣời dùng tiêu tốn thời gian và công sức để tổng hợp

thông tin.
Luận văn đề xuất một hƣớng tiếp cận mới trong việc trích rút thơng tin
từ trang web đó là thơng tin đƣợc lấy về tự động để tăng tính hiệu quả. Tin tức
lấy về đƣợc tổng hợp để làm tăng thêm hiệu quả tìm kiếm, trích lọc, chia sẻ
thơng tin.
Sau khi thực nghiên cứu các phƣơng pháp trích rút thơng tin, sẽ góp
phần làm cơ sở cho việc tổng hợp thông tin, phân loại, lọc dữ liệu.
6. Bố cục của luận văn
Luận văn gồm ba chƣơng, sau phần mở đầu giới thiệu về lý do chọn đề
tài, mục tiêu và nhiệm vụ, đối tƣợng và phạm vi nghiên cứu, phƣơng pháp
nghiên cứu, ý nghĩa khoa học và thực tiễn của đề tài là:
Chương 1, “Cơ sở lý thuyết” giới thiệu sơ bộ về xử lý ngôn ngữ tự
nhiên, những khái niệm liên quan đến khai phá dữ liệu, khai phá dữ liệu web.
Chương 2, “Giải pháp trích rút và tổng hợp thông tin để xây dựng ứng
dụng đọc tin nhanh” trình bày sơ lƣợc về trích rút thơng tin, các phƣơng pháp


5

trích rút thơng tin từ trang web cụ thể và giải pháp trích rút thơng tin cho ứng
dụng đọc tin nhanh.
Chương 3, “Phát triển ứng dụng đọc tin nhanh bằng cách trích rút
thơng tin từ các trang web” tập trung nghiên cứu phân tích xây dựng kiến trúc
tổng thể của hệ thống gồm các thành phần liên quan, cách vận hành, từ kiến
trúc tổng thể đã xây dựng tiếp tục triển khai thiết kế các thành phần, xây dựng
cơ sở dữ liệu cho ứng dụng và cài đặt ứng dụng trên thiết bị android. Bên
cạnh đó, chƣơng này cũng tập trung trình bày về chú giải ngữ nghĩa, mơ hình
tổng qt cho hệ thống trích rút thơng tin.
Phần kết luận, tổng hợp những kết quả nghiên cứu chính của luận văn,
chỉ ra một số hạn chế chƣa hoàn thiện cài đặt, đồng thời, luận văn cũng đề

xuất một số hƣớng nghiên cứu cụ thể trong tƣơng lai của tác giả luận văn.


6

CHƢƠNG 1

CƠ SỞ LÝ THUYẾT
Trích rút thơng tin là một trong những ứng dụng quan trọng của xử lý
ngôn ngữ tự nhiên. Vì vậy, khởi đầu của việc nghiên cứu và phân tích nội
dung của luận văn là tìm hiểu các khái niệm liên quan đến xử lý ngôn ngữ tự
nhiên. Chƣơng này cũng đề cập đến những nội dung cơ bản liên quan đến
khai phá dữ liệu, khai phá dữ liệu web, là những chủ đề liên quan mật thiết
đến phƣơng pháp trích rút thơng tin. Những kiến thức trình bày trong chƣơng
này là là cơ sở lý thuyết tổng quan nhất liên quan đến trích rút thơng tin sẽ
trình bày ở các chƣơng tiếp theo.
1.1. XỬ LÝ NGƠN NGỮ TỰ NHIÊN
1.1.1. Giới thiệu về xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ là xử lý thông tin đầu vào là “dữ liệu ngôn ngữ”, tức là
dữ liệu “văn bản” hay “tiếng nói”. Các dữ liệu liên quan đến ngơn ngữ viết
(văn bản) và nói (tiếng nói) đang dần trở nên kiểu dữ liệu chính của con ngƣời
và lƣu trữ dƣới dạng điện tử. Đặc điểm chính của các kiểu dữ liệu này là
khơng có cấu trúc hoặc bán cấu trúc và chúng không thể lƣu trữ trong các
khuôn dạng cố định nhƣ các bảng biểu. Theo đánh giá của cơng ty Oracle,
hiện có đến 80% dữ liệu khơng có cấu trúc trong lƣợng dữ liệu của lồi ngƣời
đang có. Với sự ra đời và phổ biến của Internet, của báo điện tử, máy tính cá
nhân, viễn thơng, thiết bị âm thanh… Ngƣời ngƣời ai cũng có thể tạo ra dữ
liệu văn bản hay tiếng nói. Vấn đề là làm sao ta có thể xử lý chúng, tức là
chuyển chúng từ dạng ta chƣa hiểu đƣợc thành các dạng có thể hiểu và giải
thích đƣợc, tức là ta có thể tìm ra thơng tin, tri thức hữu ích cho mình [2].

Trong thực tế, ứng dụng của xử lý ngôn ngữ tự nhiên dùng để giải
quyết một số bài tốn nhƣ nhận dạng chữ viết, tóm tắt văn bản, khai phá dữ


7

liệu và phát hiện tri thức.
1.1.2. Khái niệm cơ bản về ngôn ngữ tự nhiên
Ngôn ngữ là hệ thống để giao thiệp hay suy luận dùng một cách biểu
diễn phép ẩn dụ và một loại ngữ pháp theo logic, mỗi cái đó bao hàm một tiêu
chuẩn hay sự thật thuộc lịch sử và siêu việt. Nhiều ngôn ngữ sử dụng điệu bộ,
âm thanh, ký hiệu hay chữ viết tắt và cố gắng truyền khái niệm, ý nghĩa, và ý
nghĩ nhƣng nhiều khi những khía cạnh này nằm sát quá nên khó biệt nó.
1.1.3. Khái niệm cơ bản về xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên (Natural Language Processing) là một nhánh
của trí tuệ nhân tạo tập trung vào các ứng dụng trên ngôn ngữ của con ngƣời.
Trong trí tuệ nhân tạo thì xử lý ngơn ngữ tự nhiên là một trong những phần
khó nhất vì nó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ - cơng cụ hồn
hảo nhất của tƣ duy và giao tiếp [1].
a. Các bước của q trình xử lý ngơn ngữ tự nhiên
Thơng thƣờng q trình xử lý ngơn ngữ tự nhiên trải qua năm bƣớc cơ
bản bao gồm phân tích hình thái, phân tích cú pháp, phân tích ngữ nghĩa, tích
hợp văn bản, phân tích thực nghĩa.
* Phân tích hình thái
Trong bƣớc này từng từ sẽ đƣợc phân tích và các ký tự không phải chữ
nhƣ các dấu câu sẽ đƣợc tách ra khỏi các từ.
Trong tiếng Anh và nhiều ngôn ngữ khác, các từ đƣợc phân tách với
nhau bằng dấu cách. Tuy nhiên trong tiếng Việt, dấu cách đƣợc dùng để phân
tách các tiếng (âm tiết) chứ không phải từ. Cùng với các ngôn ngữ nhƣ tiếng
Trung, tiếng Hàn, tiếng Nhật, phân tách từ trong tiếng Việt là một việc khơng

hề đơn giản.
* Phân tích cú pháp
Trong bƣớc này dãy các từ sẽ đƣợc biến đổi thành các cấu trúc thể hiện


8

sự liên kết giữa các từ này, và sẽ có những dãy từ bị loại do phạm vào các luật
văn phạm.
* Phân tích ngữ nghĩa
Thêm ngữ nghĩa vào các cấu trúc đƣợc tạo ra bởi bộ phân tích cú pháp.
* Tích hợp văn bản
Ngữ nghĩa của một câu riêng biệt có thể phụ thuộc vào những câu đứng
trƣớc, đồng thời nó cũng có thể ảnh hƣởng đến các câu phía sau.
* Phân tích thực nghĩa
Cấu trúc thể hiện điều đƣợc phát ngơn sẽ đƣợc thơng dịch lại để xác
định nó thật sự có nghĩa là gì.
Tuy nhiên, ranh giới giữa năm bƣớc xử lý này cũng rất mong manh.
Chúng có thể đƣợc tiến hành từng bƣớc một, hoặc tiến hành cùng lúc, tùy
thuộc vào giải thuật và ngữ cảnh cụ thể.
b. Các bài toán và ứng dụng của xử lý ngôn ngữ tự nhiên
Các ứng dụng cơ bản của xử lý ngôn ngữ tự nhiên thông thƣờng bao
gồm chế tạo các hệ thống máy dịch ví dụ nhƣ hệ thống dịch tự động Google
Translation, xử lý văn bản và ngôn ngữ, tìm kiếm thơng tin, trích rút thơng
tin, tóm tắt văn bản, nhận dạng chữ viết, nhận dạng tiếng nói, tổng hợp tiếng
nói, phân loại văn bản, khai phá dữ liệu, khai phá dữ liệu web.
Xử lý ngôn ngữ tự nhiên là một nhánh của trí tuệ nhân tạo tập trung vào
các ứng dụng trên ngôn ngữ của con ngƣời. Trong trí tuệ nhân tạo thì xử lý
ngơn ngữ tự nhiên là một trong những phần khó nhất vì nó liên quan đến việc
phải hiểu ý nghĩa ngôn ngữ, công cụ hoàn hảo nhất của tƣ duy và giao tiếp.

Trong đó bao gồm các bài tốn ứng dụng phổ biến nhất dƣới đây.
* Dịch tự động (Machine Translate)
Dịch tự động hay còn đƣợc gọi là dịch máy. Nhƣ tên gọi, dịch tự động
thực hiện dịch một ngôn ngữ này (gọi là ngôn ngữ nguồn) sang một hoặc


9

nhiều ngơn ngữ khác (gọi là ngơn ngữ đích) một cách tự động, khơng có sự
can thiệp của con ngƣời trong quá trình dịch, điển hình nhƣ hệ thống dịch tự
động Google Translation [15].
* Nhận dạng chữ viết (Character Recognition)
Có hai kiểu nhận dạng chữ viết:
Thứ nhất là nhận dạng chữ in (Optical Character Recognition). Ví dụ
nhận dạng chữ trên sách giáo khoa rồi chuyển nó thành dạng văn bản điện tử
nhƣ dƣới định dạng doc của phần mềm Microsoft Word [15].
Phức tạp hơn là nhận dạng chữ viết tay, hay cịn gọi là cơng nghệ nhận
dạng ký tự thơng minh (Intelligent Character Recognition - ICR) là sự phát
triển ở mức cao hơn của công nghệ nhận dạng chữ in. Đối tƣợng nhận dạng
của công nghệ ICR không chỉ là chữ in mà còn bao gồm cả chữ viết tay, có
khó khăn bởi vì chữ viết tay khơng có khn dạng rõ ràng và thay đổi từ
ngƣời này sang ngƣời khác.
Với chƣơng trình nhận dạng chữ viết in có thể chuyển hàng ngàn đầu
sách trong thƣ viện thành văn bản điện tử trong thời gian ngắn.
Cịn cơng nghệ nhận dạng chữ viết tay thƣờng đƣợc sử dụng trong việc
nhận dạng thông tin từ các tài liệu dạng biểu mẫu. Trên các tài liệu dạng này,
một số thông tin đƣợc điền bằng tay tại các vị trí cố định nhƣ tờ khai mở tài
khoản ngân hàng, tờ khai hải quan, phiếu đăng ký,... [16].
Nhận dạng chữ viết của con ngƣời có ứng dụng trong khoa học hình sự
và bảo mật thơng tin nhƣ nhận dạng chữ ký điện tử.

* Nhận dạng tiếng nói (Speech Recognition)
Nhận dạng tiếng nói là cơng nghệ xử lý tiếng nói sau đó chuyển từ
tiếng nói sang dạng văn bản tƣơng ứng. Nhận dạng tiếng nói giúp thao tác của
con ngƣời trên các thiết bị nhanh hơn và đơn giản hơn, chẳng hạn thay vì gõ
một tài liệu nào đó chúng ta chỉ cần đọc nó lên và trình soạn thảo sẽ tự ghi nó


10

ra. Đây cũng là bƣớc đầu tiên cần phải thực hiện trong ƣớc mơ thực hiện giao
tiếp giữa con ngƣời với robot. Nhận dạng tiếng nói có khả năng trợ giúp rất
nhiều cho ngƣời khiếm thị.
* Tổng hợp tiếng nói (Text To Speech)
Từ một văn bản tự động tổng hợp thành tiếng nói. Thay vì phải tự đọc
một cuốn sách hay nội dung một trang web, nó tự động đọc cho chúng ta.
Giống nhƣ nhận dạng tiếng nói, tổng hợp tiếng nói là sự trợ giúp tốt
cho ngƣời khiếm thị, nhƣng ngƣợc lại nó là bƣớc cuối cùng trong giao tiếp
giữa robot với ngƣời.
* Tìm kiếm thơng tin hay truy vấn thơng tin (Information Retrieval)
Mục đích của hệ thống truy vấn thông tin là hiển thị cho ngƣời dùng
một tập các thông tin thỏa mãn nhu cầu thông tin. Định nghĩa chính xác cho
nhu cầu thơng tin là “câu truy vấn” (query), và các thông tin đƣợc chọn là “tài
liệu” (documents). Một hệ thống tìm kiếm thơng tin có hai chức năng chính,
đó là lập chỉ mục (indexing) và tìm kiếm (interrogation).
Hệ thống truy vấn thông tin đƣợc chia làm hai loại nhƣ sau:
Hệ thống tìm kiếm thơng tin dựa trên từ khóa: Là cách sử dụng từ khóa
biểu diễn tài liệu và câu truy vấn. Trong đó, từ khóa sẽ đƣợc dùng để lập chỉ
mục cho các tài liệu.
Hệ thống tìm kiếm thơng tin dựa trên khái niệm: Dùng khái niệm để
biểu diễn tài liệu và câu truy vấn, dựa vào các khái niệm để lập chỉ mục.

* Tóm tắt văn bản (Text Summarization)
Nội dung của tóm tắt văn bản là từ một văn bản dài, hệ thống sẽ tóm tắt
thành một văn bản ngắn hơn nhƣng vẫn chứa những nội dung thiết yếu nhất.
* Phân loại văn bản (Text Classification)
Phân loại văn bản là một vấn đề quan trọng trong lĩnh vực xử lý ngôn
ngữ tự nhiên. Nhiệm vụ của bài toán này là gán các tài liệu văn bản vào nhóm


11

các chủ đề cho trƣớc. Đây là một bài toán rất thƣờng gặp trong thực tế.
Ví dụ một nhà chuyên phân tích thị thƣờng chứng khốn, anh ta cần
phải tổng hợp rất nhiều tài liệu, bài viết về thị trƣờng chứng khốn để đọc và
đƣa ra phán đốn của mình. Tuy nhiên, anh ta không thể đọc tất cả các bài
viết, bài báo hay các tài liệu để phân loại chúng đâu là tài liệu chứng khốn
sau đó anh ta mới đọc kỹ chúng cho mục đích của anh ta. Lý do của vấn đề
này là bởi ví số lƣợng bài viết, bài báo hiện nay rất nhiều, đặc biệt là trên
Internet, nếu để đọc hết đƣợc tất cả tài liệu đó thì sẽ mất rất nhiều thời gian.
Một ví dụ khác trong thực tế là việc phân loại thƣ rác. Khi một email
đƣợc gửi đến hộp thƣ, nếu để ngƣời dùng phải đọc tất cả các mail thì sẽ tốn
rất nhiều thời gian vì thƣ rác rất nhiều. Vì vậy, cần có một hệ thống phân
loại đâu là thƣ rác và đâu là email tốt. Để giải bài toán này đã có rất nhiều
phƣơng pháp đƣợc đƣa ra nhƣ thuật toán Naive Bayes, K-NN (K-NearestNeighbor), cây quyết định (Decision Tree), mạng Neuron nhân tạo (Artificial
Neural Network), thuật toán SVM (Support Vector Machine). Các phƣơng
pháp đều cho kết quả khá tốt cho bài toán này [4].
* Khai phá dữ liệu, khai phá dữ liệu web và phát hiện tri thức
Từ rất nhiều tài liệu khác nhau phát hiện ra tri thức mới. Thực tế để
làm đƣợc điều này rất khó, nó gần nhƣ là mơ phỏng q trình học tập, khám
phá khoa học của con ngƣời, là lĩnh vực đang trong giai đoạn đầu phát triển.
Ở mức độ đơn giản khi kết hợp với máy tìm kiếm nó cho phép đặt câu

hỏi để từ đó cơng cụ tự tìm ra câu trả lời dựa trên các thông tin trên web mặc
cho việc trƣớc đó có câu trả lời lƣu trên web hay không. Giống nhƣ trang
Yahoo! hỏi và đáp, là nơi chuyên đặt các câu hỏi để ngƣời khác trả lời. Nói
một cách nơm na là nó đã biết xử lý dữ liệu để trả lời câu hỏi của ngƣời sử
dụng, thay vì máy móc đáp trả những gì chỉ có sẵn trong bộ nhớ.


12

* Trích rút thơng tin (Information Extraction)
Trích rút thơng tin đƣợc biết đến với các tên gọi khác nhƣ trích chọn
thơng tin, trích xuất thơng tin, tách thơng tin, chiết suất thơng tin. Cơng nghệ
trích rút thơng tin đƣợc dùng để tìm ra các thơng tin cấu trúc, thơng tin cần
thiết từ một tài liệu. Trong khi đó truy vấn thơng tin là tìm ra các tài liệu liên
quan, hoặc một phần tài liệu liên quan từ kho dữ liệu cục bộ nhƣ thƣ viện số
hoặc từ Internet để phản hồi cho ngƣời dùng tùy vào một truy vấn cụ thể.
1.2. KHAI PHÁ DỮ LIỆU
1.2.1. Định nghĩa khai phá dữ liệu
Khai phá dữ liệu (Data Mining) đƣợc định nghĩa nhƣ một quá trình chắt
lọc hay khám phá tri thức từ một lƣợng lớn dữ liệu. Nói một cách khác, khai
phá dữ liệu là q trình trích ra những thơng tin dùng đƣợc, đúng và chƣa biết
trƣớc từ cơ sở dữ liệu lớn, rồi dùng thông tin này để ra các quyết định [5].
Khai phá dữ liệu là một bƣớc của quá trình khám phá tri thức trong cơ
sở dữ liệu (Knowledge Discovery in Database, viết tắt là KDD). Khám phá tri
thức trong CSDL là lĩnh vực liên quan đến các ngành nhƣ xác suất thống kê,
học máy, trực quan hóa dữ liệu và tính tốn song song,… Q trình khai phá
tri thức trong cơ sở dữ liệu có thể chia thành các bƣớc thực hiện nhƣ sau:
Bước 1: Trích chọn dữ liệu
Ở bƣớc này các dữ liệu liên quan trực tiếp đến nhiệm vụ của quá trình
KDD sẽ đƣợc thu thập từ các nguồn dữ liệu ban đầu.

Bước 2: Tiền xử lý dữ liệu
Có nhiệm vụ làm sạch, loại bỏ nhiễu, rút gọn và rời rạc hóa dữ liệu.
Bước 3: Biến đổi dữ liệu
Nhằm chuẩn hóa và làm mịn dữ liệu để chuyển dữ liệu về dạng thuận
lợi nhất phục vụ cho việc khai phá.
Bước 4: Khai phá dữ liệu


13

Dùng các kỹ thuật phân tích để khai thác dữ liệu, trích chọn các mẫu
thơng tin cần thiết,… Cơng đoạn này đƣợc xem là mất thời gian và cũng là
quan trọng nhất trong quá trình KDD.
Bước 5: Đánh giá và biểu diễn tri thức
Các thông tin và mối liên hệ giữa chúng vừa khám phá trong công đoạn
trƣớc đƣợc biểu diễn dƣới các dạng trực quan đồng thời đƣợc đánh giá theo
những tiêu chí nhất định.
1.2.2. Các dạng dữ liệu trong khai phá dữ liệu
a. Văn bản (Full Text)
Dữ liệu dạng văn bản là một dạng dữ liệu phi cấu trúc với thông tin chỉ
gồm các tài liệu dạng văn bản. Cơ sở dữ liệu văn bản là một CSDL phi cấu
trúc mà dữ liệu bao gồm các tài liệu và thuộc tính của tài liệu, thƣờng đƣợc tổ
chức nhƣ một tổ hợp của hai thành phần gồm một CSDL có cấu trúc thơng
thƣờng (chứa đặc điểm của các tài liệu) và các tài liệu.
b. Siêu văn bản (Hypertext)
Đó là loại văn bản không phải đọc theo dạng liên tục đơn, nó có thể
đƣợc đọc theo các thứ tự khác nhau, đặc biệt là văn bản và ảnh đồ họa
(graphic) là các dạng có mối liên kết với nhau theo cách mà ngƣời đọc có thể
khơng cần đọc một cách liên tục. Nhƣ vậy văn bản siêu văn bản bao gồm
dạng chữ viết không liên tục, chúng đƣợc phân nhánh và cho phép ngƣời đọc

có thể chọn cách đọc theo ý muốn của mình. Bên cạnh đó, siêu văn bản cũng
là một dạng văn bản đặc biệt nên cũng có thể bao gồm các chữ viết liên tục (là
dạng phổ biến nhất của chữ viết).
Có hai khái niệm về Hypertext cần quan tâm:
Tài liệu siêu văn bản (Hypertext Document): Là một tài liệu văn bản
đơn trong hệ thống siêu văn bản. Nếu tƣởng tƣợng hệ thống siêu văn bản là
một đồ thị thì các tài liệu tƣơng ứng các nút.


14

Liên kết siêu văn bản (Hypertext Link): Là một tham chiếu để nối một
tài liệu siêu văn bản này với một tài liệu siêu văn bản khác
1.2.3. Các hƣớng nghiên cứu trong khai phá dữ liệu
Có thể chia khai phá dữ liệu thành các hƣớng chính nhƣ sau:
Mơ tả khái niệm (Concept Description): Thiên về mơ tả, tổng hợp và
tóm tắt khái niệm.
Luật kết hợp (Association Rules): Là dạng luật biểu diễn tri thức ở dạng
khá đơn giản.
Phân lớp và dự đoán (Classification & Prediction): Xếp một đối tƣợng
vào một trong những lớp đã biết trƣớc.
Phân cụm (Clustering): Xếp các đối tƣợng theo từng cụm (số lƣợng
cũng nhƣ tên của cụm chƣa đƣợc biết trƣớc). Ngƣời ta còn gọi phân cụm là
học không giám sát.
Khai phá chuỗi (Sequential/Temporal Patterns): Tƣơng tự nhƣ khai
phá luật kết hợp nhƣng có thêm tính thứ tự và tính thời gian.
1.2.4. Các ứng dụng của khai phá dữ liệu
Khai phá dữ liệu đƣợc ứng dụng trong nhiều lĩnh vực khác nhau nhằm
khai thác nguồn dữ liệu phong phú đƣợc lƣu trữ trong các hệ thống thông tin.
Việc ứng dụng thành công khai phá dữ liệu đã mang lại những hiệu quả thiết

thực cho các hoạt động diễn ra hàng ngày trong đời sống.
Các lĩnh vực hiện tại có ứng dụng khai phá dữ liệu gồm có:
Bảo hiểm, tài chính và thị trường chứng khốn: Khai phá dữ liệu đƣợc
ứng dụng trong việc phân tích tình hình tài chính và dự báo giá của các loại cổ
phiếu trong thị trƣờng chứng khoán, danh mục vốn và giá, lãi suất, dữ liệu thẻ
tín dụng, phát hiện gian lận.
Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định: Khai phá dữ liệu
đƣợc ứng dụng để thống kê, phân tích các dữ liệu của hệ thống và xây dựng


15

hệ thống hỗ trợ ra quyết định.
Điều trị y học và chăm sóc y tế: Một số thơng tin về chuẩn đoán bệnh
lƣu trong các hệ thống quản lý bệnh viện. Phân tích mối liên hệ giữa các triệu
chứng bệnh, chuẩn đoán và phƣơng pháp điều trị.
Sản xuất và chế biến: Quy trình, phƣơng pháp chế biến và xử lý sự cố.
Khai phá dữ liệu, khai phá dữ liệu web: Các ứng dụng bao gồm phân
lớp văn bản và các trang web, tóm tắt văn bản.
Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật
học, tìm kiếm, so sánh các hệ gene và thơng tin di truyền, mối liên hệ gene và
một số bệnh di truyền.
Mạng viễn thơng: Phân tích các cuộc gọi điện thoại và hệ thống giám
sát lỗi, sự cố, chất lƣợng dịch vụ.
1.3. KHAI PHÁ DỮ LIỆU WEB
1.3.1. Khái quát về khai phá dữ liệu web
Với Internet con ngƣời đã làm quen với các trang web cùng với vô vàn
các thông tin. Thông tin trên các trang web đa dạng về mặt nội dung cũng nhƣ
hình thức. Sự phát triển nhanh chóng đó đã sinh ra một khối lƣợng khổng lồ
các dữ liệu dạng siêu văn bản dƣới dạng trang web.

Các dữ liệu trong các CSDL truyền thống thì thƣờng là loại dữ liệu
đồng nhất về ngơn ngữ, định dạng, cịn dữ liệu web thì thƣờng khơng đồng
nhất. Vì vậy cần có một phƣơng pháp để chuyển đổi nội dung phi cấu trúc
trên thành dạng dữ liệu tập trung, dễ sử dụng. Khai phá dữ liệu web ra đời để
đáp ứng nhu cầu đó.
Cấu trúc nội dung của một văn bản web đƣợc mơ tả nhƣ trong Hình 1.1
bao gồm nhiều phần nhƣ Content Data (Free text, HTML file, XML file,
Dynamic content, Multimedia), User Profile Data, Usage Data, Struct Data
(Static Link, Dynamic Link).


×