1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu

59 354 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 1,89 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Làm thế nào để chúng ta có thể tìm kiếm các thông tin có ích cho lĩnh vực mà chúng ta quan tâm trong khối lượng thông tin đồ sộ trên Internet bao gồm: Kinh tế, chính trị, khoa học kỹ thu

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐỖ THỊ LOAN

TÌM KIẾM VĂN BẢN DỰA VÀO CỤM TỪ VÀ

CHUYỂN VÀO CƠ SỞ DỮ LIỆU

LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN

Hà Nội - 2015

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐỖ THỊ LOAN

TÌM KIẾM VĂN BẢN DỰA VÀO CỤM TỪ VÀ

CHUYỂN VÀO CƠ SỞ DỮ LIỆU

Ngành: Công nghệ Thông tin

Chuyên ngành: Kỹ Thuật Phần Mềm

Mã số: 60.48.01.03

LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS LÊ HUY THẬP

Hà Nội - 2015

Trang 3

LỜI CẢM ƠN

Để hoàn thành luận văn Thạc sĩ này tôi xin được gửi lời cảm ơn sâu sắc đến thầy PGS.TS Lê Huy Thập về định hướng khoa học, luôn quan tâm và tạo điều kiện thuận lợi trong suốt quá trình nghiên cứu hoàn thành luận văn này

Tôi xin được gửi lời cảm ơn đến các thầy, cô trong Bộ môn Kỹ thuật Phần Mềm Khoa Công nghệ Thông tin đã truyền đạt cho tôi những kiến thức quý giá và bổ ích trong quá trình theo học tại trường

Tôi cũng xin chân thành cảm ơn đến gia đình tôi về sự quan tâm, động viên của bố -

mẹ, chồng và các em đã giúp tôi có thêm nghị lực, cố gắng để hoàn thành luận văn

Cuối cùng, xin gửi lời cảm ơn chân thành nhất đến các bạn cùng học K19, K20 đã giúp đỡ tôi trong suốt 3 năm học tập

Do thời gian và kiến thức có hạn nên luận văn chắc không tránh khỏi những thiếu sót nhất định Tôi rất mong nhận được những sự góp ý quý báu của thầy cô và các bạn

Hà Nội, ngày 18 tháng 11 năm 2015

Đỗ Thị Loan

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn “Tìm kiếm văn bản dựa vào cụm từ và chuyển vào

cơ sở dữ liệu” là công trình nghiên cứu của cá nhân tôi dưới sự hướng dẫn của PGS

TS Lê Huy Thập, trung thực và không sao chép của tác giả khác Trong toàn bộ nội dung nghiên cứu của luận văn, các vấn đề được trình bày đều là những tìm hiểu và nghiên cứu của chính cá nhân tôi hoặc là được trích dẫn từ các nguồn tài liệu có ghi tham khảo rõ ràng, hợp pháp

Tôi xin chịu mọi trách nhiệm và mọi hình thức kỷ luật theo quy định cho lời cam đoan này

Hà Nội, ngày 18 tháng 11 năm 2015

Đỗ Thị Loan

Trang 5

MỤC LỤC

LỜI CAM ĐOAN 1

MỤC LỤC 2

DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 4

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 5

DANH SÁCH BẢNG BIỂU 5

MỞ ĐẦU 6

Chương 1 TỔNG QUAN 7

1.1 Cơ sở dữ liệu 7

1.1.1 Khái niệm văn bản phi cấu trúc và có cấu trúc 8

1.1.2 Giới thiệu cơ sở dữ liệu quan hệ 10

1.2 Toán rời rạc 16

1.2.1 Mệnh đề đơn giản trong CSDL 16

1.2.1.1 Định nghĩa mệnh đề toán học 16

1.2.1.2 Các phép toán trên mệnh đề 16

1.2.2 Mệnh đề hội và tuyển sơ cấp, mệnh đề chuẩn hội và chuẩn tuyển 18

1.2.3 Tính tương đương giữa các biểu thức logic và mệnh đề chuẩnhội/chuẩn tuyển 21

1.3 Các phần mềm tìm kiếm cơ bản 21

1.3.1 Google search 22

1.3.2 Yahoo search 22

Chương 2 TÌM KIẾM VĂN BẢN DỰA VÀO CỤM TỪ VÀ CHUYỂN VÀO CSDL 24

2.1 Tạo các xâu tìm kiếm 24

2.1.1 Tạo các xâu tìm kiếm dựa vào mode của xâu 24

2.1.2 Tạo các xâu tìm kiếm dựa vào toán tử OR hoặc AND 27

2.2.Cơ sở dữ liệu quan hệ 28

2.3 Các thuật toán 31

2.3.1 Thuật toán 1(Gom địa chỉ các Website có chứa cùng “cụm từ” vào trong cùng một Collection) 31

2.3.2 Thuật toán 2(Truy cập các Website và đưa về các đoạn văn bản có "cụm từ") 33

2.3.3 Tinh chế lại bảng TongHop.dbf 36

Trang 6

2.3.4 Thống kê tổng hợp dữ liệu từ số liệu của bảng TongHop.dbf 36

2.4 Tiền xử lý thông tin và các thao tác hỗ trợ thuật toán 37

2.4.1 Máy chủ và Công nghệ sử dụng 37

2.4.1.1 Máy chủ Apache 37

2.4.1.2 Ngôn ngữ PHP (Hypertext Preprocessor) 37

2.4.1.3 MySQL 37

2.4.2 Web Crawler và phương pháp tìm kiếm dữ liệu trên Internet 38

2.4.2.1 Dữ liệu trong thu thập thông tin trên Internet 38

2.4.2.2 Phân loại nguồn thông tin từ Internet 39

2.4.2.3 Module Crawler 41

Chương 3 THỬ NGHIỆM CHƯƠNG TRÌNH TÌM KIẾM CÁC ĐOẠN VĂN BẢN TRÊN MỘT MÁY TÍNH DỰA VÀO CỤM TỪ VÀ CHUYỂN VÀO CƠ SỞ DỮ LIỆU 47

3.1 Quản lý chủ đề 47

3.2 Tìm kiếm và thu thập dự liệu theo chủ đề 49

3.3 Nội dung tổng hợp 50

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

a, Tầm quan trọng của vấn đề lấy tin tự động trên Internet 55

b, Các vấn đề đã được tìm hiểu trong đề tài 55

Luận văn đạt được hai kêt quả chính: 55

TÀI LIỆU THAM KHẢO 56

Trang 7

DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

dùng đề tham chiếu tới tài nguyên trên Internet

Trang 8

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 2.1 Lớp mode các cụm từ 27

Hình 2.2 Mối quan hệ giữa các thực thể trong mô hình dữ liệu 31

Hình 2.3 Kết quả tìm kiếm 33

Hình 2.4 Danh sách URL đã tìm được 35

Hình 2.5 Danh sách các bài báo cần xử lý chuẩn hóa dữ liệu 36

Hình 2.6 Quá trình tìm kiếm và xử lý thông tin 41

Hình 2.7 Sơ đồ thu thập thông tin 44

Hình 2.8 Sơ đồ xử lý dữ liệu từ hàng đợi 45

Hình 2.9 Sơ đồ bóc tách dữ liệu 46

Hình 3.1 Quản lý chủ đề 47

Hình 3.2 Thêm chủ đề 48

Hình 3.3 Sửa chủ đề 49

Hình 3.4 Màn hình quét và thu thập thông tin từ Internet 50

Hình 3.5 Quản lý bài viết thu thập được 51

Hình 3.6 Thêm bài viết 52

Hình 3.7 Sửa bài viết 53

Hình 3.8 Xem chi tiết một bài viết 54

DANH SÁCH BẢNG BIỂU Bảng 1.1 Chân trị của các phép toán mệnh đề 17

Bảng 1.2 Bảng ưu tiên các phép toán mệnh đề 17

Bảng 2.1 Quan hệ giữa cụm từ và bài viết 26

Bảng 2.2 Tần số và tần số tích lũy 26

Bảng 2.3 Các ký hiệu biến mệnh đề 28

Bảng 2.5 Nội dung bảng chủ đề tìm kiếm 29

Bảng 2.6 Cấu trúc bảngtổng hợp tin tức 30

Bảng 2.7 Ví dụ nội dung thu thập 30

Trang 9

MỞ ĐẦU

Ngày nay cuộc cách mạng Khoa học – Công nghệ đang phát triển một cách chóng mặt, nó đã làm thay đổi nền kinh tế toàn cầu và trở thành lực lượng sản xuất trực tiếp Khoa học – Công nghệ đã đưa nhân loại chuyển dần từ nền văn minh công nghiệp sang nền kinh tế tri thức; trong đó công nghệ thông tin là một trong các ngành mũi nhọn Nó

có tầm quan trọng cho mọi quốc gia nhất là đối với các nước đang phát triển muốn hòa nhập với nền kinh tế thế giới

Một ứng dụng quan trọng của công nghệ thông tin là việc áp dụng vào quản lý, đặc biệt trong lĩnh vực quản lý nhà nước, quản lý kinh tế -xã hội Nó giúp cho các nhà quản

lý đưa ra những quyết định chính xác, kịp thời, xử lý nhanh chóng các tình huống nhằm nâng cao hiệu quả quản lý

Với sự phát triển mạnh mẽ của internet, World Wide Web và các phương pháp tìm kiếm thì hầu như chúng ta có thể tìm thấy các thông tin cần thiết cho mục đích sử dụng cho cá nhân và tập thể Tuy nhiên, với khối lượng thông tin khổng lồ trong đó thông tin hữu ích không phải là tất cả và số website ngày càng nhiều nên nội dung ngày càng phong phú và đa dạng Làm thế nào để chúng ta có thể tìm kiếm các thông tin có ích cho lĩnh vực mà chúng ta quan tâm trong khối lượng thông tin đồ sộ trên Internet bao gồm: Kinh tế, chính trị, khoa học kỹ thuật, giáo trình,… Chúng ta sẽ tìm trên mạng các đoạn văn bản hay bài viết có chứa “cụm từ” thuộc chủ đề mà chúng ta quan tâm cho trước

Mục đích của luận văn:

- Tổng hợp nhanh các thông tin theo chủ đề để hỗ trợ cho các nhà lãnh đạo ra quyết định kịp thời “Thời gian đắt hơn vàng”

- Ngăn chặn không cho các văn bản độc hại chuyển vào mạng hoặc ra khỏi mạng

- Ghi lại nội dung đoạn văn bản hay toàn bộ bài viết cùng với tác giả, ngày upload, địa chỉ kết nối,… Các dữ liệu trên được lưu vào cơ sở dữ liệu quan hệ có cấu trúc tiền định nhằm hỗ trợ cho công tác lưu trữ và sử dụng

Có thể sử dụng các thuật toán trong đề tài này để tạo ra nhanh chóng các báo cáo tổng quan về một chuyên đề nào đó và đặc biệt hữu dụng để chọn lựa tài liệu khi xây dựng giáo trình và giáo trình điện tử

Trang 10

iii- Mô hình quan hệ

Các dữ liệu của cùng cấp sẽ được tổ chức thành một bảng, các bảng sẽ được đặt quan hệ bởi các khoá Khi gọi đến một khoá của bảng mẹ, dữ liệu của các bảng con tương ứng với khoá đó sẽ được tham chiếu đến

Kiến trúc một hệ Cơ Sở Dữ Liệu

Một Cơ Sở Dữ Liệu được phân thành các mức:

- Phần Cơ Sở Dữ Liệu Vật lý (mức Vật lý) là các tệp dữ liệu theo một cấu trúc nào

đó và được lưu trên các thiết bị nhớ thứ cấp (đĩa từ, băng từ, )

- Phần Cơ Sở Dữ Liệu khái niệm là sự biểu diễn trừu tượng của Cơ Sở Dữ Liệu Vật lý,

- Phần Khung nhìn là cách nhìn, là quan niệm sử dụng đối với Cơ Sở Dữ Liệu mức khái niệm

Trang 11

Một Cơ Sở Dữ Liệu đã được thiết kế, người ta thường quan tâm đến bộ khung (cấu trúc – Structure) của Cơ Sở Dữ Liệu đó (ví dụ cấu trúc của bảng DBF trong FOXPRO chẳng hạn)

1.1.1 Khái niệm văn bản phi cấu trúc và có cấu trúc

Văn bản dạng có cấu trúc là loại văn bản mà khi cập nhật bằng thủ công hay máy tính đều có khuôn mẫu sẵn ví dụ như các công văn, quyết định, các mẫu biểu thống kê, điều tra dân số, …Đặc điểm của loại văn bản này là chúng ta có thể cơ sở dữ liệu hóa theo các chuẩn Cơ sở dữ liệu quan hệ, Cơ sở dữ liệu hướng đối tượng và Cơ sở dữ liệu dạng khối,… Các văn bản ngược với loại văn bản trên được gọi là phi cấu trúc Trong thời đại bùng nổ công nghệ thông tin, nhiều linh vực trên thế giới đã và đang tận dụng giá trị thông diệp của nguồn dữ liệu phi cấu trúc khổng lồ mà linh vực kinh tế tài chính cũng không là ngoại lệ Theo Turner (2013, tr.1), “Thông tin phi cấu trúc, một cách thừa nhận, truyền đạt nhiều tri thức ý nghĩa cho con nguời…không còn gói gọn trong lĩnh vực công nghệ thông tin mà còn lan rộng trong lĩnh vực tài chính ngân hàng Nghiên cứu sử dụng nguồn dữ liệu văn bản trên Báo cáo thuờng niên và nguồn tin tức trực tuyến của các doanh nghiệp Việt Nam, một cách tiếp cận mới dựa trên nguồn dữ liệu phi cấu trúc, vào việc dự báo kiệt quệ tài chính Thông tin phi cấu trúc được sử dụng riêng biệt hoặc kết hợp với các yếu tố dự báo khác dựa trên dữ liệu cấu trúc truyền thống, huớng tới mục tiêu cải thiện khả năng dự báo của các mô hình Kết quả nghiên cứu cho thấy xét một cách độc lập thông tin phi cấu trúc có khả năng truyền tải nhiều thông điệp có ý nghia trong dự báo tình trạng kiệt quệ tài chính của các công ty niêm yết tại Việt Nam, đồng thời việc kết hợp giữa dữ liệu này và dữ liệu cấu trúc đại diện bởi các nhân tố truyền thống (tỷ số tài chính, đặc điểm quản trị công ty, chỉ số vi mô) giúp cải thiện độ chính xác của dự báo

Theo Petersen (2004), dữ liệu được chia thành dữ liệu cấu trúc (dữ liệu cứng) và

dữ liệu phi cấu trúc (dữ liệu mềm) Dữ liệu có cấu trúc, thuờng là số liệu kế toán, giá cổ phiếu, dòng tiền, chỉ số thị truờng, là dạng thông tin có khả năng lưu trữ trong các cơ sở

dữ liệu quan hệ (Relational Database), trong đó các thực thể và thuộc tính đã được định nghĩa sẵn, thuờng được thu thập trên Báo cáo tài chính (BCTC) Nguợc lại với dữ liệu cấu trúc, dữ liệu phi cấu trúc được định nghĩa là dạng dữ liệu không có cấu trúc định nghĩa sẵn và không thể biểu diễn duới dạng bảng số liệu quan hệ Phổ biến nhất là các dạng dữ liệu văn bản dạng chữ (Text), ngoài ra còn có các dạng khác như tập tin video, tập tin ảnh, tập tin âm thanh Theo Healy và Palepu (2001), thông tin văn bản phi cấu trúc của doanh nghiệp được chia thành hai nguồn thông tin nội bộ và đại chúng Nguồn thông tin nội bộ của doanh nghiệp được phân định thành các công bố phi tài chính bằng

Trang 12

văn bản dạng bắt buộc theo quy định hoặc tự nguyện, hầu hết thuộc Báo cáo thuờng niên (BCTN) Nguồn thông tin phi cấu trúc bên ngoài doanh nghiệp tồn tại đa dạng hơn, bao gồm các nguồn như tin đồn, các tin vắn công bố về cổ phiếu trên các Sở giao dịch và các diễn đàn cổ phiếu, các phân tích tài chính độc lập, bình luận của các chuyên gia kinh

tế, tạp chí tài chính, công bố của bên thứ ba (công ty kiểm toán) hoặc các bên

Với khả năng hàm chứa các thông điệp có giá trị, thông tin phi cấu trúc có thể được

sử dụng trong nhiều lĩnh vực nghiên cứu bao gồm cả việc cảnh báo sớm kết quả tài chính (KQTC) cũng như các sự kiện tiêu cực khác Quá trình phát hiện tri thức từ nguồn dữ liệu văn bản này được gọi là Phân tích thông điệp văn bản hoặc Phân tích văn bản (Textual analysis), tương ứng với kĩ thuật khai thác văn bản (Text mining) Trong đó, nhiều tác giả sử dụng quy trình này trên nguồn thông tin phi cấu trúc nội bộ của doanh nghiệp trong xây dựng mô hình dự báo như Shirata và Sakagami (2009) dự báo KQTC theo quá trình phân tích thông tin phi cấu trúc dựa trên Báo cáo thuờng niên của các doanh nghiệp Nhật Bản ứng dụng kĩ thuật phân tích hình thái học cho bộ ký tự Kanji Nghiên cứu cũng đưa ra những nhóm từ mới có tính đại diện cao cho nhóm công ty không kiệt quệ nhu “R&D”, “đầu tư vốn”, “ kinh doanh mới”…Cecchini (2010) phát triển phương pháp phân tích nội dung thông điệp dạng từ điển từ nhằm dự báo KQTC trên phần thông tin văn bản trong mục Thảo luận và Phân tích của Ban quản trị thuộc BCTN Tác giả tìm thấy việc dùng riêng các thông tin phi cấu trúc nhằm dự báo các sự kiện tài chính đạt được những kết quả tích cực (dự báo chính xác 75% cho nhóm công

ty kiệt quệ), đồng thời trích lập được nhóm từ khóa đặc trưng cho phần thông tin mềm của nhóm công ty KQTC như “giảm lợi nhuận gộp”, “ảnh huởng lạm phát”, “lợi ích”,

“nỗ lực công ty” Ngoài ra, Lu, Shen và Wei (2013) sử dụng nguồn thông tin mềm đại

Lựa chọn nguồn dữ liệu phi cấu trúc

Nguồn dữ liệu văn bản phi cấu trúc nội bộ đuợc thu thập trong các phần phản ánh các nội dung về kế hoạch, triến luợc phát triển hoặc dự báo tương lai của doanh nghiệp trên BCTN Các phần chi tiết được thu thập bao gồm:

Những thông tin phải công bố theo quy định của Thông tu 52/2012/TT-BTC bao gồm:

- Triển vọng và kế hoạch phát triển tương lai thuộc báo cáo của Hội đồng quản trị (HÐQT)

- Kế hoạch phát triển trong tương lai thuộc báo cáo của Ban giám đốc

Những thông tin công bố tự nguyện gồm các phát biểu dự báo tương lai của công

ty trong các BCTN được lựa chọn theo tiêu chí của Vu, Tower và Scully (2011) bao gồm:

Trang 13

- Dự báo doanh thu, phần diễn giải văn bản định tính

- Dự báo thu nhập, phần diễn giải văn bản định tính

- Thảo luận về các nhân tố bên ngoài ảnh huởng đến tình trạng hoạt động tương lai của công ty (kinh tế, chính trị và công nghệ)

- Thảo luận về các nguồn quỹ và kinh phí của công ty trong tương lai

1.1.2 Giới thiệu cơ sở dữ liệu quan hệ

1.1.2.1 Các khái niệm của mô hình quan hệ

a) Miền, thuộc tính, bộ và quan hệ

Một miền D là một tập hợp các giá trị nguyên tử, điều đó có nghĩa là mỗi giá trị trong miền là không thể phân chia được trong phạm vi mô hình quan hệ Để đặc tả một miền, người ta chỉ ra một tên, một kiểu dữ liệu và khuôn dạng dữ liệu

Một lược đồ quan hệ R, ký hiệu là R(A1,A2, , An), được tạo nên từ một quan hệ

R gồm danh sách các thuộc tính A1,A2,…, An Mỗi một thuộc tính Ai là tên vai trò của một miền D nào đó trong lược đồ quan hệ R D được gọi là miền giá trị của Ai và được

ký hiệu là Dom(Ai) Một lược đồ quan hệ được sử dụng để mô tả một quan hệ; R được gọi là tên của quan hệ đó Cấp của một quan hệ là số các thuộc tính của lược đồ quan hệ của nó Ví dụ, ta có lược đồ cho quan hệ cấp 5: SINHVIEN(Maso, Hoten, Ngaysinh, Gioitinh, Diachi) Với lược đồ quan hệ này, SINHVIEN là tên của quan hệ

Một quan hệ (hoặc trạng thái quan hệ) r của lược đồ quan hệ R(A1,A2,…, An) được

ký hiệu là r(R), là tập hợp các n-bộ r(R) = {t1, t2, , tn } Mỗi n-bộ t là một danh sách có thứ tự của n giá trị, t = < v1, v2, …, vn>, trong đó mỗi vi,1<= i <= n, là một phần tử của Dom(Ai) hoặc là một giá trị không xác định (null value) Giá trị thứ i của bộ t, tương ứng với thuộc tính Ai được ký hiệu là t[Ai]

Định nghĩa quan hệ ở trên có thể phát biểu lại như sau: Một quan hệ r(R) là một quan hệ toán học cấp n trên các miền giá trị dom(A1), dom(A2),…, dom(An), đó là tập con của tích Đề các của các miền giá trị xác định R:

r(R)  (dom(A1) x dom(A2) x …dom(An))

b) Các đặc trưng của các quan hệ

Thứ tự của các bộ trong một quan hệ:

Một quan hệ được định nghĩa như một tập hợp các bộ Các phần tử trong một tập hợp không có thứ tự, vì vậy các bộ trong một quan hệ không có một thứ tự cụ thể Tuy nhiên, trong một tệp, các bản ghi được lưu trữ một cách vật lý trên đĩa vì vậy luôn có một thứ tự giữa các bản ghi Thứ tự này chỉ rõ bản ghi thứ nhất, bản ghi thứ hai,…, bản

Trang 14

ghi thứ n Một cách tương tự, khi ta biểu diễn một quan hệ như là một bảng, các hàng được hiển thị theo một thứ tự nhất định

Thứ tự của các giá trị bên trong một bộ

Theo định nghĩa quan hệ ở trên, một n-bộ là một danh sách có thứ tự của n giá trị Như vậy thứ tự của các giá trị trong một bộ là quan trọng, từ đó suy ra thứ tự của các thuộc tính trong một lược đồ quan hệ cũng quan trọng Tuy nhiên, ở mức lô gic, thứ tự của các thuộc tính và các giá trị của nó là không thực sự quan trọng khi giữ được sự tương ứng giữa các thuộc tính và các giá trị

Có thể đưa ra một định nghĩa khác về quan hệ, định nghĩa này sẽ làm cho thứ tự của các giá trị trong một bộ là không cần thiết Theo định nghĩa này, một lược đồ quan

hệ R = (A1, A2,…,An) là một tập hợp các thuộc tính và một quan hệ r(R) là một tập hợp hữu hạn các ánh xạ r = {t1, t2, …., tm}, trong đó mỗi ti là một ánh xạ từ R vào D, trong đó

D = dom(A1)dom(A2) …dom(An) Trong định nghĩa này, t[Ai] phải ở trong dom(Ai) với 1<= i <= n với mỗi ánh xạ ti trong r Mỗi ánh xạ ti được gọi là một bộ

Các giá trị trong một bộ

Mỗi giá trị của thuộc tính trong một bộ là một giá trị nguyên tử; điều đó có nghĩa

là nó không phân chia được thành các thành phần trong phạm vi của mô hình quan hệ Như vậy, trong mô hình quan hệ không cho phép có các thuộc tính phức hợp và các thuộc tính đa trị Các thuộc tính đa trị phải được biểu diễn bằng các quan hệ còn các thuộc tính phức hợp chỉ được biểu diễn bằng các thuộc tính thành phần đơn của nó Các giá trị của một vài thuộc tính trong một bộ cụ thể có thể không biết được hoặc không thích ứng cho nó Trường hợp đó, người ta sử dụng một giá trị đặc biệt gọi là giá trị null

Thể hiện của một quan hệ

Một lược đồ quan hệ có thể được thể hiện như là một tuyên bố hoặc một khẳng định Mỗi bộ trong quan hệ được thể hiện như là một sự kiện hoặc như một thể hiện cụ thể của một khẳng định Ngoài các quan hệ biểu diễn các sự kiện về các thực thể, một

số quan hệ có thể biểu diễn các sự kiện về mối liên kết

Như vậy, mô hình quan hệ biểu diễn các sự kiện về thực thể và các sự kiện về liên kết dưới dạng duy nhất là các quan hệ

1.1.2.2 Các ràng buộc quan hệ, lược đồ CSDL quan hệ

a) Các ràng buộc miền

Trang 15

Các ràng buộc miền chỉ ra rằng giá trị của mỗi thuộc tính A phải là một giá trị nguyên tử thuộc miền giá trị dom(A) Các kiểu dữ liệu liên kết với các miền bao gồm: các kiểu dữ liệu số chuẩn cho các số nguyên (short integer, integer, long integer), các số thực (float, double precision float) Ngoài ra còn các kiểu dữ liệu ký tự (dãy ký tự với

độ dài cố định, dãy ký tự với độ dài thay đổi), ngày, thời gian và tiền tệ Các loại miền khác có thể là các miền con của một kiểu dữ liệu hoặc một kiểu dữ liệu đếm được trong

đó mọi giá trị có thể được liệt kê rõ ràng

b) Ràng buộc khoá và ràng buộc trên các giá trị không xác định (null)

Một quan hệ được định nghĩa như một tập hợp các bộ Theo định nghĩa, các phần

tử của một tập hợp là khác nhau, vì vậy, mọi bộ trong quan hệ phải khác nhau Điều đó

có nghĩa là không có hai bộ có cùng một tổ hợp giá trị cho tất cả các thuộc tính của chúng

Thông thường, có tồn tại các tập con của các thuộc tính của một lược đồ quan hệ

có tính chất là không có hai bộ nào ở trong mọi trạng thái quan hệ r của R có cùng một

tổ hợp giá trị cho các thuộc tính của nó Giả sử chúng ta ký hiệu một tập con như vậy là SK; khi đó với hai bộ khác nhau bất kỳ t1 và t2 trong một trạng thái quan hệ r của R chúng ta có ràng buộc là t1[SK]  t2[SK] Tập hợp thuộc tính SK như vậy được gọi là một siêu khoá (superkey) của lược đồ quan hệ R Một siêu khoá SK xác định rõ một ràng buộc về tính duy nhất, phát biểu rằng không có hai bộ khác nhau trong một trạng thái r của R có cùng một giá trị cho SK Mỗi quan hệ có ít nhất là một siêu khoá mặc định, đó là tập hợp tất cả các thuộc tính của nó

Nói chung, một lược đồ quan hệ có thể có nhiều hơn một thuộc tính khoá và hơn nếu có thể có nhiều hơn một tập thuộc tính khóa Trong trường hợp đó, mỗi một khoá được gọi là một khoá dự tuyển (candidate key) Thông thường ta phải chỉ định một trong các khoá dự tuyển làm khoá chính (primary key) của quan hệ Khoá chính là một khoá

dự tuyển mà các giá trị của chúng được dùng để xác định các bộ trong quan hệ Ta quy ước rằng, các thuộc tính tạo nên khoá chính của một lược đồ quan hệ được gạch dưới

Ví dụ:

SINHVIEN (Maso, Hoten, Ngaysinh, Gioitinh, Diachi)

Chú ý rằng khi một lược đồ quan hệ có nhiều khoá dự tuyển, việc lựa chọn một khoá dự tuyển để làm khoá chính là tuỳ ý; tuy nhiên tốt nhất là chọn khoá chính gồm một thuộc tính hoặc có số các thuộc tính ít nhất

Một ràng buộc khác trên các thuộc tính chỉ rõ khi nào thì cho phép các giá trị null Những thuộc tính luôn luôn phải có một giá trị xác định và hợp lệ thì bị ràng buộc là NOT NULL

c) Cơ sở dữ liệu quan hệ và lược đồ cơ sở dữ liệu quan hệ

Trang 16

Ở trên, chúng ta đã nói đến các lược đồ quan hệ đơn lẻ và các quan hệ đơn lẻ Một

cơ sở dữ liệu quan hệ thường gồm nhiều quan hệ với các bộ giá trị trong các quan hệ được liên kết với nhau theo nhiều cách Trong phần này chúng ta sẽ định nghĩa một cơ

sở dữ liệu quan hệ và một lược đồ cơ sở dữ liệu quan hệ

Một lược đồ cơ sở dữ liệu quan hệ S là một tập hợp các lược đồ quan hệ:

Trong một số phiên bản trước của mô hình quan hệ, người ta yêu cầu rằng các thuộc tính biểu diễn cùng một khái niệm của thế giới thực thì phải có tên như nhau trong mọi quan hệ Điều đó sẽ gây ra khó khăn khi cùng một khái niệm thế giới thực được sử dụng trong các vai trò khác nhau

Một hệ quản trị cơ sở dữ liệu phải có ngôn ngữ định nghĩa dữ liệu (Data definition language DDL) để định nghĩa lược đồ cơ sở dữ liêu quan hệ Các hệ quản trị cơ sở dữ liệu hiện nay hầu như sử dụng SQL cho mục đích này

Các ràng buộc toàn vẹn được chỉ ra trên một lược đồ cơ sở dữ liệu và được tôn trọng làm thoả mãn trên mỗi trạng thái cơ sở dữ liệu của lược đồ này Ngoài các ràng buộc miền và ràng buộc khoá còn có thêm các ràng buộc được xem như một phần của

mô hình quan hệ, đó là ràng buộc toàn vẹn thực thể và ràng buộc toàn vẹn tham chiếu

d) Toàn vẹn thực thể, toàn vẹn tham chiếu và khoá ngoài

Ràng buộc toàn vẹn thực thể được phát biểu là: khoá chính phải luôn luôn có giá trị xác định, nghĩa là không được phép có giá trị null Sở dĩ có điều đó là do giá trị của khoá chính được sử dụng để xác định các bộ giá trị riêng biệt trong một quan hệ Việc

có giá trị null cho khoá chính kéo theo việc chúng ta không thể xác định được một số bộ giá trị Ví dụ, nếu có hai hay nhiều hơn các bộ giá trị có giá trị null cho khoá chính thì chúng ta có khả năng phân biệt chúng

Các ràng buộc khoá và ràng buộc toàn vẹn thực thể được chỉ ra trên các quan hệ riêng rẽ Ràng buộc toàn vẹn tham chiếu được chỉ ra giữa hai quan hệ để duy trì sự tương ứng giữa các bộ của hai quan hệ Một cách không hình thức, ràng buộc toàn vẹn tham

Trang 17

chiếu được phát biểu là: một bộ giá trị trong một quan hệ có liên kết đến một quan hệ khác phải liên kết đến một bộ giá trị tồn tại trong quan hệ đó

Để định nghĩa toàn vẹn tham chiếu một cách hình thức hơn, trước tiên chúng ta đưa ra khái niệm khoá ngoài: Một tập hợp các thuộc tính FK trong một lược đồ quan hệ

R1 là một khoá ngoài (foreign key) của R1 tham chiếu đến quan hệ R2 nếu nó thoả mãn hai quy tắc sau:

- qt1 Các thuộc tính trong FK có cùng miền giá trị như các thuộc tính của khoá chính PK của R2 Các thuộc tính FK được gọi là tham chiếu đến (hoặc là liên hệ đến) quan hệ R2

- qt2 Một giá trị của FK trong một bộ t1 của trạng thái hiện tại r1(R1) hoặc có mặt như một giá trị của khoá chính của một bộ t2 nào đấy trong trạng thái hiện tại

r2(R2), hoặc là null Trong trường hợp này ta có t1[FK] = t2[PK] và ta nói rằng bộ

t1 liên hệ (tham chiêú) đến bộ t2 R1 được gọi là quan hệ tham chiếu và R2 được gọi là quan hệ bị tham chiếu

Trong một cơ sở dữ liệu có nhiều quan hệ thường có nhiều ràng buộc toàn vẹn tham chiếu Để chỉ ra các ràng buộc này, trước tiên ta phải có một hiểu biết rõ ràng về

ý nghĩa hoặc vai trò của mỗi tập thuộc tính ở trong các lược đồ quan hệ khác nhau của

cơ sở dữ liệu Các ràng buộc toàn vẹn quy chiếu thường nảy sinh từ các mối liên kết giữa các thực thể được biểu diễn bằng các lược đồ quan hệ

Chú ý rằng một khoá ngoài có thể tham chiếu đến quan hệ của chính nó Trong trường hợp đó, khoá ngoài biểu thị một liên kết đệ quy

Chúng ta có thể biểu diễn các ràng buộc tham chiếu bằng sơ đồ Để làm điều đó ta

vẽ một cạnh có hướng từ mỗi khoá ngoài đến quan hệ mà nó tham chiếu đến

Ngoài các ràng buộc toàn vẹn ở trên, cơ sở dữ liệu còn phải thoả mãn một số ràng buộc khác, như ràng buộc trạng thái, ràng buộc chuyển tiếp,… Các ràng buộc trạng thái xác định các ràng buộc mà một trạng thái vững chắc của cơ sở dữ liệu phải thoả mãn

Ví dụ về các ràng buộc đó là: “lương của một nhân viên không được vượt quá lương của người giám sát nhân viên đó” hoặc “số giờ nhiều nhất mà một nhân viên có thể làm việc trong một tuần trên tất cả các dự án là 56 giờ” Các ràng buộc như vậy có thể được đặc

tả và bắt tuân theo bằng cách sử dụng một ngôn ngữ đặc tả ràng buộc Người ta có thể

sử dụng các cơ cấu như là kích hoạt (trigger) hoặc khẳng định (assertion) Các ràng buộc chuyển tiếp có thể được định nghĩa để làm việc với những thay đổi trạng thái trong cơ

sở dữ liệu Ví dụ về ràng buộc này là: “lương của một nhân viên chỉ có thể tăng” Các ràng buộc như vậy thường được định nghĩa bằng cách sử dụng các quy tắc hoặc bằng các trigger

Trang 18

1.1.2.3 Các phép toán trên mô hình quan hệ

a) Các phép toán cập nhật

Phép chèn (Insert)

Phép chèn cung cấp một danh sách các giá trị cho một bộ mới t được chèn vào trong một quan hệ R Phép chèn có thể vi phạm các kiểu ràng buộc được mô tả ở trên Các ràng buộc miền có thể bị vi phạm nếu một giá trị thuộc tính được cho không thuộc vào miền tương ứng Các ràng buộc khoá có thể bị vi phạm nếu một giá trị khoá trong

bộ mới t đã tồn tại trong một bộ khác ở trong quan hệ r(R) Sự toàn vẹn thực thể có thể

bị vi phạm nếu khoá chính của bộ mới t là null Sự toàn vẹn tham chiếu có thể bị vi phạm nếu một giá trị của một khoá ngoài trong t tham chiếu đến một bộ không tồn tại trong một quan hệ được tham chiếu

Nếu một phép chèn vi phạm một hoặc nhiều ràng buộc, tuỳ chọn mặc định là loại

bỏ phép chèn Trong trường hợp này, thường là các hệ quản trị cơ sở dữ liệu có thể thông báo cho người sử dụng nguyên nhân của việc loại bỏ phép chèn

Phép xoá (Delete)

Phép xoá được sử dụng để xoá một hoặc nhiều bộ giá trị của một quan hệ Phép xoá chỉ có thể vi phạm ràng buộc tham chiếu trong trường hợp bộ bị xoá được tham chiếu bởi một khoá ngoài từ các bộ khác trong cơ sở dữ liệu Để chỉ rõ một phép xóa, cần phải đưa ra một điều kiện trên các thuộc tính của quan hệ để chọn các bộ sẽ bị xóa

Ba tuỳ chọn được sẵn sàng được sử dụng nếu một phép xoá gây ra sự vi phạm Tuỳ chọn thứ nhất là loại bỏ phép xoá Tuỳ chọn thứ hai là cố gắng lan truyền phép xoá (cascade the deletion) bằng cách xoá đồng thời các bộ tham chiếu đến bộ bị xoá Tuỳ chọn thứ ba là sửa đổi các giá trị của các thuộc tính tham chiếu gây ra sự vi phạm; mỗi giá trị như vậy hoặc là làm cho bằng null hoặc được thay đổi thành bộ có hiệu lực tham chiếu khác Chú ý rằng, nếu một thuộc tính tham chiếu gây ra sự vi phạm là một phần của khoá chính thì không thể làm cho thành null, bởi vì nếu làm vậy thì sẽ vi phạm ràng buộc toàn vẹn thực thể Có thể kết hợp cả ba tuỳ chọn ở trên

Phép sửa đổi (Update)

Phép toán sửa đổi được dùng để thay đổi các giá trị của một hoặc nhiều thuộc tính trong một (hoặc nhiều) bộ của một quan hệ R nào đấy Để lựa chọn các bộ cần được thay đổi, người sử dụng phải chỉ ra một điều kiện trên các thuộc tính

Việc sửa đổi một thuộc tính không phải là một khoá chính hoăc một khoá ngoài thường không gây ra các vi phạm ràng buộc; hệ quản trị cơ sở dữ liệu chỉ cần kiểm tra

để khẳng định rằng giá trị mới là thuộc miền và kiểu giá trị đúng đắn Việc sửa đổi giá trị một khoá chính tương tự như việc xoá một bộ và chèn bộ khác vào chỗ của nó Như vậy chúng ta trở về trường hợp đã thảo luận với phép chèn và phép xoá Nếu một thuộc

Trang 19

tính khoá ngoài bị sửa đổi thì hệ quản trị cơ sở dữ liệu phải đảm bảo rằng giá trị mới tham chiếu đến một bộ có tồn tại trong quan hệ được tham chiếu (hoặc là null)

b) Các phép toán đại số quan hệ

Các phép toán đại số quan hệ được chia thành hai nhóm Một nhóm bao gồm các phép toán tập hợp lấy từ lý thuyết tập hợp toán học Các phép toán đó là phép hợp, phép giao, phép trừ tập hợp và phép tích Đề các Nhóm kia bao gồm các phép toán được xây dựng đặc biệt cho các cơ sở dữ liệu quan hệ Các phép toán đó là phép chọn, phép chiếu, phép nối và một số các phép toán khác

1.2 Toán rời rạc [3][8]

Các quy tắc của logic cho ý nghĩa chính xác của các mệnh đề Các quy tắc này được sử dụng để phân biệt giữa các lập luận toán học đúng và không đúng Cùng với tầm quan trọng của nó trong việc hiểu sự suy luận toán học, logic học còn có nhiều ứng dụng trong tin học Các quy tắc của logic được dùng để thiết kế các mạng trong máy tính, để xây dựng các chương trình của máy tính, để kiểm tra tính đúng đắn của các chương trình và nhiều ứng dụng khác

1.2.1 Mệnh đề đơn giản trong CSDL

1.2.1.1 Định nghĩa mệnh đề toán học

Định nghĩa:

 Mệnh đề logic là một phát biểu để diễn tả một ý tưởng trọn vẹn và khẳng định một cách khách quan là phát biểu đó đúng hoặc sai (không thể vừa đúng lại vừa sai, hay mang tính chất mập mờ)

 Giá trị trị đúng hay sai của mệnh đề được gọi là chân trị của mệnh đề Chân trị đúng của mệnh đề thường được kí hiệu là 1 hoặc T hoặc True, còn chân trị sai được kí hiệu là 0 hoặc F hoặc False

Một mệnh đề là một câu đúng hoặc sai, chứ không thể vừa đúng vừa sai

Mệnh đề chỉ có một giá trị đơn (luôn đúng hoặc sai) được gọi là mệnh đề nguyên

từ (atomic proposition) Các mệnh đề không phải là mệnh đề nguyên từ được gọi là mệng đề phức hợp (compound propositions) Thông thường, tất cả mệnh đề phức hợp

Trang 20

là làm thế nào để tính toán chân trị của các mệnh đề phức hợp theo các mệnh đề sơ cấp cấu thành mệnh đề phức hợp đó nhờ vào các phép toán logic Các phép toán logic ở đây

là các ký hiệu được dùng thay cho các từ liên kết logic như "không", "và", "hay", "hoặc",

"suy ra" hay "nếu thì ", "nếu và chỉ nếu": Bảng chân trị của các phép toán mệnh đề

(Xem bảng 1.1)

Mức ưu tiên của các phép toán logic (Xem bảng 1.2):

Ký hiệu phép toán Nghĩa của phép toán

(hoặchoặc) Phủ định

Bảng 1.2 Bảng ưu tiên các phép toán mệnh đề

Thứ tự ưu tiên của các phép toán logic được liệt kê theo mức yếu dần từ trái sang phải, từ trên xuống dưới

Các phép toán logic được định nghĩa bằng bảng chân trị (truth table) Bảng chân trị chỉ ra rõ ràng chân trị của mệnh đề phức hợp theo từng trường hợp của các chân trị của các mệnh đề sơ cấp tạo thành mệnh đề phức hợp Bảng chân trị của các phép toán logic tất nhiên là phản ánh ngữ nghĩa tự nhiên của các từ liên kết tương ứng Bảng chân trị không chỉ dùng để liệt kê ra sự liên hệ chân trị giữa mệnh đề phức hợp với chân trị của các mệnh đề sơ cấp cấu thành nó, mà bảng chân trị còn được dùng với mục đích

Trang 21

rộng hơn: liệt kê sự liên hệ chân trị giữa các mệnh với các mệnh đề đơn giản hơn cấu

thành chúng

Phép tương đương (BICONDITIONAL):

Cho P và Q là hai mệnh đề Câu "P nếu và chỉ nếu Q" là một mệnh đề mới được gọi là P tương đương Q Kí hiệu P ↔ Q Mệnh đề tương đương là đúng khi P và Q có cùng chân trị

P ↔ Q = (P → Q) ∧ (Q → P)

Đọc là: P nếu và chỉ nếu Q, P là cần và đủ đối với Q, Nếu P thì Q và ngược lại

1.2.1.3 Ðộ ưu tiên của các toán tử logic

Tương tự như đối với các phép toán số học, để tránh phải dùng nhiều dấu ngoặc trong các biểu thức logic, ta đưa ra một thứ tự ưu tiên trong việc tính toán

Ở trên ta có 5 toán tử logic:  (không),  (và),  (hay),  (kéo theo),  (tương đương)

 ưu tiên mức 1 (cao nhất)

,  ưu tiên mức 2 (thấp hơn)

,  ưu tiên mức 3 (thấp nhất)

trong đó, các toán tử liệt kê trên cùng dòng có cùng độ ưu tiên

1.2.2 Mệnh đề hội và tuyển sơ cấp, mệnh đề chuẩn hội và chuẩn tuyển

Dạng chuẩn tắc (chính tắc) của 1 biểu thức là biểu diễn biểu thức về dạng đơn giản, chỉ bao gồm các phép toán phủ định, hội tuyển của các mệnh đề

1.2.2.1 Chuẩn tắc tuyển

Giả sử p1, p2, …, pn là các biến mệnh đề Một biểu thức logic F theo các biến mệnh

đề p1, p2, …, pn được gọi là một biểu thức hội cơ bản (hội sơ cấp) nếu nó có dạng sau:

Ei đều có dạng chính tắc tuyển theo các biến p1, p2, …, pn

Ví dụ: Các biểu thức sau đây có dạng chính tắc tuyển:

E(x,y,z) = (x  y  z)  ( x  y  z)  (x  y  z)

F(p1,p2,p3,p4) = (p1  p2  p3  p4)  (p1  p2  p3 p4)

Ðịnh lý: Mọi biểu thức logic E(p1, p2, …, pn) đều có thể viết dưới dạng chính tắc tuyển (chuẩn tắc tuyển) duy nhất, không kể sự sai khác về thứ tự trước sau của các biểu

Trang 22

thức hội cơ bản trong phép tuyển) Nói một cách khác, ta có duy nhất một tập hợp các biểu thức hội cơ bản  E1, E2, …, Em sao cho biểu thức E(p1, p2, …, pn) tương đương logic với biểu thức:

E1  E2  …  Em

1.2.2.2 Chuẩn tắc hội

Giả sử p1, p2, …, pn là các biến mệnh đề Một biểu thức logic F theo các biến mệnh

đề p1, p2, …, pn được gọi là một biểu thức tuyển cơ bản (tuyển sơ cấp) nếu nó có dạng sau:

Ðịnh lý: Mọi biểu thức logic E(p1, p2, …, pn) đều có thể viết dưới dạng chính tắc hội

duy nhất, không kể sự sai khác về thứ tự trước sau của các biểu thức tuyển cơ bản trong phép hội) Nói một cách khác, ta có duy nhất một tập hợp các biểu thức tuyển cơ bản 

E1, E2, …, Em sao cho biểu thức E(p1, p2, …, pn) tương đương logic với biêu thức E1 E2 … Em

Chuẩn hoá

Mục đích chuẩn hoá là biến đổi biểu thức logic thông thường thành biểu thứcdạng chuẩn để tiếp tục xử lý với các ngôn ngữ tìm kiếm nhất là lượng từ hoá vấn tin cho vị từ phi lượng từ với độ phức tạp nào đó khi dùng các lượng từ cần thiết như : với mọi, : tồn tại, chúng được đặt phía trước

Dạng chuẩn hội (Conjunctive normal form) là hội (^) của các tuyển (v)

Ví dụ: (p11v p12v … v p1n)^…^(pm1 vpm2 v …pnm)

Trong đó: pnm là vị trí đơn giản

Dạng chuẩn tuyển (disjunction normal from) là tuyển (v) của các hội (^)

Ví dụ: (p11p12…p1n) v …v(pm1pm2…pmn)

Trang 23

Các quy tắc (^là AND, v là OR, và ┐là NOT)

Quy tắc chuyển biểu thức logic bất kỳ về dạng chuẩn hội:

 Áp dụng luật phân phối: a (b  c) ≡ (a  b)  (a  c)

Chú ý: Chúng ta thực hiện tương tự để chuyển biểu thức logic bất kỳ về dạng chuẩn

tuyển

Trang 24

1.2.3 Tính tương đương giữa các biểu thức logic và mệnh đề chuẩnhội/chuẩn tuyển

Sự tương đương lôgic

Cho P và Q là hai công thức Ta nói rằng hai công thức P, Q tương đương lôgicvới nhau, kí hiệu là P ≡ Q, nếu với mọi hệ chân lí gán cho các mệnh đề có mặt trong hai công thức đó thì chúng luôn nhận giá trị chân lí như nhau

Đặc biệt, hai mệnh đề a, b gọi là tương đương lôgic, kí hiệu là a ≡ b, nếu chúng cùng đúng hoặc cùng sai

Các phần mềm tìm kiếm là “chìa khóa” rất quan trọng giúp bạn tìm thấy thông tin

mà bạn cần trong kho dữ liệu khổng lồ từ các máy chủ và liên mạng máy tính toàn cầu.Các công cụ tìm kiếm dựa trên chương trình tự động Những công cụ tìm kiếm tự động, ví dụ Google sẽ tạo ra những danh sách của họ tự động Các chương trình tự động như crawler hay spider sẽ bắt đầu làm việc, sau đó mọi người có thể tìm kiếm thông qua những gì mà các chương trình tự động dò tìm được

Nếu thay đổi những trang web của bạn, những công cụ tìm kiếm tự động dựa vào crawler sẽ tìm thay sự thay đổi này và điều đó có thể ảnh hưởng đến cách bạn được liệt

kê như thế nào Những tiêu đề trang, nội dung văn bản và các phần tử khác đều giữ vai trò nhất định

Bên cạnh đó, crawler sẽ dùng phần mềm tự động để dò tìm thông tin trên mạng qua meta tag (thẻ cung cấp thông tin ngắn gọn của trang web) và cũng theo các link để kết nối đến các chỉ mục trên tất cả link của các trang web Crawler sẽ quay lại thường xuyên để cập nhật bất cứ sự thay đổi nào

Các thành phần của công cụ tìm kiếm tự động: Công cụ tìm kiếm tự động có 3 thành phần chính Đầu tiên, spider hay crawler sẽ dò tìm một trang web, đọc và sau

đó spider đi theo những đường liên kết đến các trang khác bên trong trang web Điều này có nghĩa là khi một người nào đó tìm đến một trang web, các spider sẽ ghi nhớ

Nó sẽ quay lại trang đó theo chu kỳ, thường từ 1 - 2 tháng để xem có sự thay đổi trên trang web

Trang 25

Thứ hai, mọi thứ spider tìm thấy trong công cụ tìm kiếm đó chính là chỉ mục (index) Đôi lúc, chỉ mục còn được gọi là danh mục (catalog) – là kho lưu trữ khổng lồ chứa mọi sao chép của các trang web mà spider tìm thấy Nếu một trang web thay đổi, sau đó danh mục sẽ được cập nhật với thông tin mới Thỉnh thoảng, spider cũng cần có thời gian để lập chỉ mục cho trang mới hay cập nhật thay đổi Do đó, cũng có trường hợp một trang web đã được spider dò tìm, nhưng vẫn chưa lập chỉ mục, nghĩa là trong khoảng thời gian này trang web sẽ không được tìm thấy trên công cụ tìm kiếm Cuối cùng, đó là phần mềm của công cụ tìm kiếm Đây là chương trình có thể lọc thông tin

từ hàng triệu trang web được lưu trong chỉ mục và có thể so sánh, đối chiếu để đưa ra kết quả phù hợp

1.3.1 Google search

Bằng cách sử dụng các Bot dò tìm và tạo chỉ mục (index) các trang Web trên Internet, xây dựng cơ sở dữ liệu tìm kiếm cho các máy chủ của mình, khi có người truy cập và thực hiện tìm kiếm, kết quả tìm kiếm sẽ được lấy ra từ đây Google search cũng cho phép người sử dụng khai báo trang web của họ với máy chủ của google, sau

đó các máy chủ này sẽ sắp xếp thời gian để tạo chỉ mục cho các trang web được khai báo

Để tìm kiếm, người sử dụng gõ vào ô tìm kiếm một hoặc một vài cụm từ gọi là từ khóa tìm kiếm (keywords) Dựa trên từ khóa tìm kiếm này, Google search sẽ thực hiện tìm kiếm và hiển thị ra kết quả cho người sử dụng

Việc sắp xếp thứ tự kết quả tìm kiếm phụ thuộc vào thứ hạng của nó theo phân cấp của Google search nhờ tổng hợp phức tạp từ keyword, pagerank, sitemap Kết quả tìm kiếm cũng được phân loại theo đối tượng sử dụng khác nhau, nó phụ thuộc vào vị trí địa lý (lấy theo IP truy cập của người truy cập) Ngoài ra, Google search cũng sử dụng cookies và tính năng lưu trữ thói quen tìm kiếm của người dùng (cá nhân hóa kết quả tìm kiếm) để tạo ra kết quả tìm kiếm Nói chung, việc sắp sếp và hiển thị kết quả của Google search khá phức tạp và nó là bí mật công nghệ mà nhờ đó Google có thể chiếm lĩnh thị trường

1.3.2 Yahoo search

Là một trong những công cụ tìm kiến hàng đầu trên thế giới và đang phát triển rất mạnh tại Việt Nam, Website chính của Yahoo có lượt truy cập hằng ngày đứng đầu tại Việt Nam

Trang 26

Yahoo mới đây đã giới thiệu phiên bản có tính năng tìm kiếm siêu tốc tương tự như Google Instant mang tên Search Direct Về cơ bản, cả hai tính năng mới này hoạt động giống nhau, đều giúp người dùng tìm kiếm nhanh hơn và cho ra kết quả chính xác Yahoo Search Direct chỉ hiển thị kết quả mà người dùng tìm kiếm trong một cửa

sổ nhỏ Kết quả mà công cụ tìm kiếm của Yahoo gợi ý cho bạn khi sử dụng Search Direct cũng rất đa dạng, nếu từ khóa là một sản phẩm nào đó thì Search Direct sẽ gợi ý giá bán của sản phẩm đó

1.4 Kết luận chương

Trong chương này, tác giả đã giới thiệu tổng quan về văn bản phi cấu trúc, có cấu trúc, cơ sở dữ liệu quan hệ, các mệnh đề đơn giản trong cơ sở dữ liệu, mệnh đề hội, tuyển sơ cấp, mệnh đề chuẩn hội, chuẩn tuyển sơ cấp, tính tương đương giữa các biểu thức logic và mệnh đề chuẩn tắc Bên canh đó, tác giả cũng tìm hiểu về các phần mềm tìm kiếm cơ bản như: Google search, Yahoo search và một số lệnh tìm kiếm trong ngôn ngữ lập trình bậc cao Ở chương tiếp theo, tác giả đi sâu vào nghiên cứu các thuật toán nền tảng trong tìm kiếm văn bản dựa vào cụm từ và ứng dụng cơ sở lý thuyết cho chương trình tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu Đây là nội dung trọng tâm của luận văn

Trang 27

Chương 2 TÌM KIẾM VĂN BẢN DỰA VÀO CỤM TỪ VÀ

CHUYỂN VÀO CSDL

2.1 Tạo các xâu tìm kiếm [5][6][7][10][11][12]

Tạo các xâu tìm kiếmnhằm mục đích tạo dựng, bổ sung các xâu trong cơ sở dữ liệu (CSDL) Các xâu này sẽ được sử dụng làm tiêu chí tìm kiếm với nội dung trang web được tải về, việc tìm kiếm sẽ trả về kết quả có chứa xâu hay không Nếu không chứa chứng tỏ URL không phù hợp cho việc lưu trữ ULR này hệ thống, ngược lại sẽ tiến hành lưu trữ trong hệ thống bao gồm thông tin xâu và URL thích hợp này Tác giả xin giới thiệu hai phương pháp được dùng trong khuôn khổ luận văn này sẽ là:

- Tạo theo mode của xâu: chia xâu thành các thành các nhóm để tạo mode;

- Tạo theo toán tử OR và toán tử AND

2.1.1 Tạo các xâu tìm kiếm dựa vào mode của xâu

Chuẩn hóa và xác định mối quan hệ giữa các cụm từ tìm và lấy thông tin liên quan đến cụm từ Xâu được tác giả thành lập và thu thập với mục đích làm căn cứ để tìm kiếm xâu với nội dung tài liệu được tải về theo URL Tác giả tiến hành xây dựng xây dựng tập các mod xâu theo một số tiêu trí nhất định được phân định theo danh mục

- Danh từ: Thể hiện các từ và cụm từ đại diện cho một danh từ cụ thể cần được tổ chức

- Khái niệm: Thể hiện các từ, cụm từ mang tên một khái niệm cụ thể về chủ đề

- Sự kiện: Thể hiện các từ thông báo tin tức theo sự kiện xảy ra

- Địa điểm: thể hiện vị trí xảy ra sự kiện hoặc nội dung văn bản có thể đề cập tới

- Thời gian: Thể hiện thông tin về thời gian trong nội dung văn bản được đề cập tới

Ở đây chúng ta đề cập cách tạo các báo cáo phi cấu trúc từ các văn bản hoặc các cơ sở dữ liệu đang được lưu trữ tại các máy tính trên mạng nhờ vào các xâu để tìm kiếm

Trong thời đại kỹ thuật số, hầu như các thông tin đều có thể tìm trên các Website Tuy nhiên số Website và các công cụ khác để đưa thông tin lên Internet ngày càng nhiều, nội dung ngày càng phong phú và đa dạng Các thông tin về một chủ đề nào đó có thể nằm rải rác trên các vùng, miền, của mạng Chúng ta sẽ gom nhóm chúng lại cùng với các thông tin liên quan và lưu lại dưới dạng tệp text hoặc dạng quan hệ trong cơ sở dữ liệu quan hệ

Khi các thông tin trên được lưu dưới dạng text, có nghĩa là chúng ta có thể tạo ra báo cáo phi chuẩn với nội dung thay đổi phụ thuộc vào thời điểm thực hiện thuật toán

Trang 28

Với cách làm này chúng ta sẽ được báo cáo phi cấu trúc và động Còn khi các thông tin trên được lưu trong cơ sở dữ liệu, chúng ta có thể tạo ra các báo cáo dựa vào các chỉ tiêu (các thuộc tính) có trong cơ sở dữ liệu Kiểu báo cáo này được gọi là báo cáo có cấu trúc

và động

Cách tạo ra báo cáo phi cấu trúc động hoặc có cấu trúc động là một vấn đề mới đang được quan tâm do có các ưu điểm như: tổng hợp được nhanh các thông tin cần thiết theo thời gian; gần gũi với người đọc, và những người cần thông tin hỗ trợ đê ra quyết định

Để nắm các thông tin về một lĩnh vực nào đó - chúng ta gọi là chủ đề, người ta thường phải tìm kiếm thông qua một xâu mang toàn bộ hoặc một phần nội dung của chủ

đề đó Sau đó tự truy cập và đọc các đoạn văn bản trên các Website Việc làm này mất nhiều thời gian và không hiệu quả khi cần các thông tin để ra quyết định Để khắc phục chúng ta dùng cơ chế tự động tìm kiếm và tổng hợp thành các báo cáo phi cấu trúc hoặc

có cấu trúc Hơn nữa, chúng ta sẽ dùng các xâu nằm trong vùng lân cận xâu “mode” để giảm bớtthời gian tìm kiếm và tổng hợp

Chọn các cụm từ theo mode

Mối quan hệ giữa chủ đề và các cụm từ:

Chọn các cụm từ thích hợp để dùng nó làm chủ đề tổng hợp rất quan trọng trong báo cáo Nếu cụm từ làm chủ đề quá bao hàm (đồng nghĩa với số từ trong chủ đề quá ít) nội dung của báo cáo sẽ rất tản mạn

Chẳng hạn chỉ dùng cụm từ “Báo cáo” để làm chủ đề, chúng ta sẽ có khoảng 10.600.000 bài viết, gồm:

Báo cáo số 1186/BC-BNN-VP ngày 5 tháng 5 năm 2008 về Công tác

Trang 29

Từ bảng 2.1 chúng ta tạo ra bảng có cột tần số tích lũy (Xem bảng 2.2):

Lấy các cụm từ thuộc miền phần tư thứ hai và phần tư thứ ba là các cụm có quan

hệ gần gũi nhất với “chủ đề” Đồ thị theo tần số tích lũy (xem hình vẽ 2.1)

Stt Nội dung xâu liên quan chủ đề, X Số bài viết, tần số f

8 Báo cáo thu hoạch lúa vụ mùa quý 1 năm 2008 1.690.000

Bảng 2.1 Quan hệ giữa cụm từ và bài viết

Nội dung xâu liên quan chủ đề, X Số bài viết, tần

số f

Tần số tích lũy

cf

“Báo cáo thu hoạch lúa quý 1 năm 2008” 2090000 2460000

“Báo cáo thu hoạch lúa vụ mùa của năm” 2410000 4550000

“Báo cáo thu hoạch lúa vụ mùa năm 2008” 2110000 6960000

“Báo cáo thu hoạch lúa vụ mùa quý 1 năm 2008” 1690000 9070000

Ngày đăng: 05/04/2016, 21:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đỗ Thị Loan, et. al…, Chuẩn hóa và xác định mối quan hệ giữa các cụm từ tìm và lấy thông tin liên quan đến cụm từ lưu vào CSDL quan hệ. Kỷ yếu hội thảo Quốc gia “Một số vấn đề chọn lọc của CNTT và truyến thông”, Huế, Nhà XB Khoa học và Kỹ thuật, 47-58, 2008 Sách, tạp chí
Tiêu đề: Chuẩn hóa và xác định mối quan hệ giữa các cụm từ tìm và lấy thông tin liên quan đến cụm từ lưu vào CSDL quan hệ". Kỷ yếu hội thảo Quốc gia “Một số vấn đề chọn lọc của CNTT và truyến thông
[3] Lê Huy Thập, Tập bài giảng về toán rời rạc, Khoa CNTT, Học viện Công nghệ BCVT Hà Nội 2, 2011 Sách, tạp chí
Tiêu đề: Tập bài giảng về toán rời rạc
[4] Lê Huy Thập (2008), Giáo trình Kỹ thuật lập trình, Tập 1, NXB Khoa học tự nhiên và công nghệ Sách, tạp chí
Tiêu đề: Giáo trình Kỹ thuật lập trình
Tác giả: Lê Huy Thập
Nhà XB: NXB Khoa học tự nhiên và công nghệ
Năm: 2008
[5] Lê Huy Thập, Tìm thông tin trên các máy tính bằng cách dùng các chuỗi để so sánh, Kỷ yếu hội nghị khoa học kỷ niệm 30 năm thành lập Viện công nghệ thông tin, NXB Khoa học tự nhiên và Công nghệ, Hà Nội 2007, 422-427 Sách, tạp chí
Tiêu đề: Tìm thông tin trên các máy tính bằng cách dùng các chuỗi để so sánh
Nhà XB: NXB Khoa học tự nhiên và Công nghệ
[6] Đặng Hữu Đạo, Lê Huy Thập, Nguyễn Minh Tuấn, Nguyễn Gia Đăng, Mô hình hệ thống thông tin phòng giao dịch một cửa tại các cơ quan hành chính nhà nước, Kỷ yếu hội nghị khoa học kỷ niệm 30 năm thành lập Viện công nghệ thông tin, NXB Khoa học tự nhiên và Công nghệ, Hà Nội 2007, 232- 244 Sách, tạp chí
Tiêu đề: Mô hình hệ thống thông tin phòng giao dịch một cửa tại các cơ quan hành chính nhà nước
Nhà XB: NXB Khoa học tự nhiên và Công nghệ
[7] Lê Huy Thập, Thuật toán thăm dò mạng, lấy về các văn bản cần thiết và chuyển thành văn bản có cấu trúc, Các báo cáo toàn văn tại “Hội nghị Khoa học ITMATH-06, 10/2006”.p128-135, Học viện Quân sự Sách, tạp chí
Tiêu đề: Thuật toán thăm dò mạng, lấy về các văn bản cần thiết và chuyển thành văn bản có cấu trúc", Các báo cáo toàn văn tại “Hội nghị Khoa học ITMATH-06, 10/2006
[8] Kenneth H.Rosen, Toán rời rạc và ứng dụng trong tin học, NXB khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: Toán rời rạc và ứng dụng trong tin học
Nhà XB: NXB khoa học và kỹ thuật
[9] Đỗ Xuân Lôi, Cấu trúc dữ liệu và giải thuật, NXB Khoa học và Kỹ thuật,1996 Tiếng Anh Sách, tạp chí
Tiêu đề: Cấu trúc dữ liệu và giải thuật
Nhà XB: NXB Khoa học và Kỹ thuật
[10] Robert Sedgewick, Cẩm nang thuật toán Vol.1 and vol.2, NXB Khoa học và Kỹ Japan Information Processing Development Corporation, Central Academy of Information Technology, Internal Design And Programming, 1978 Sách, tạp chí
Tiêu đề: Cẩm nang thuật toán
Nhà XB: NXB Khoa học và Kỹ Japan Information Processing Development Corporation
[11] Cecchini, M. (2010),“Making words work: Using financial text as a predictor of financial events”, Decision Support Systems, Vol. 50, 164-175 Sách, tạp chí
Tiêu đề: “Making words work: Using financial text as a predictor of financial events”
Tác giả: Cecchini, M
Năm: 2010
[12] Healy, P, M. and Palepu, K. (2000), “Information Asymmetry, Corporate Disclosure and the Capitan Markets: A review of Empirical Disclosure Literature”, Journal of Accounting and Economics, Volume 31 (1), 405-440 Sách, tạp chí
Tiêu đề: Information Asymmetry, Corporate Disclosure and the Capitan Markets: A review of Empirical Disclosure Literature
Tác giả: Healy, P, M. and Palepu, K
Năm: 2000

HÌNH ẢNH LIÊN QUAN

Bảng 2.1. Quan hệ giữa cụm từ và bài viết - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Bảng 2.1. Quan hệ giữa cụm từ và bài viết (Trang 29)
Hình 2.1. Lớp mode các cụm từ - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Hình 2.1. Lớp mode các cụm từ (Trang 30)
Bảng 2.3. Các ký hiệu biến mệnh đề - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Bảng 2.3. Các ký hiệu biến mệnh đề (Trang 31)
Bảng 2.7. Ví dụ nội dung th u  thập - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Bảng 2.7. Ví dụ nội dung th u thập (Trang 33)
Hình 2.2. Mối quan hệ giữa các thực thể trong mô hình dữ liệu - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Hình 2.2. Mối quan hệ giữa các thực thể trong mô hình dữ liệu (Trang 34)
Hình 2.5. Danh sách các bài báo cần xử lý chuẩn hóa dữ liệu - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Hình 2.5. Danh sách các bài báo cần xử lý chuẩn hóa dữ liệu (Trang 39)
Hình 2.6. Quá trình tìm kiếm và xử lý thông tin - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Hình 2.6. Quá trình tìm kiếm và xử lý thông tin (Trang 44)
Sơ đồ thu thập thông tin trong chương trình Demo: - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Sơ đồ thu thập thông tin trong chương trình Demo: (Trang 47)
Hình 2.8. Sơ đồ xử lý dữ liệu từ hàng đợi - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Hình 2.8. Sơ đồ xử lý dữ liệu từ hàng đợi (Trang 48)
Hình 2.9. Sơ đồ bóc tách dữ liệu - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Hình 2.9. Sơ đồ bóc tách dữ liệu (Trang 49)
Hình 3.2. Thêm chủ đề - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Hình 3.2. Thêm chủ đề (Trang 51)
Hình 3.5. Quản lý bài viết thu thập được - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Hình 3.5. Quản lý bài viết thu thập được (Trang 54)
Hình 3.6. Thêm bài viết - Tìm kiếm văn bản dựa vào cụm từ và chuyển vào cơ sở dữ liệu
Hình 3.6. Thêm bài viết (Trang 55)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm