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

KHAI PHÁ DỮ LIỆU WEB

54 321 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 54
Dung lượng 850,55 KB

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

Nội dung

Trong các dữ liệu hiện nay thì văn bản là một trong những dữ liệu phổ biến nhất, nó có mặt ở khắp mọi nơi và chúng ta thường xuyên bắt gặp do đó các bài toán về xử lý văn bản đã được đặt

Trang 1

Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU WEB

1.1 GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU (DATAMING) VÀ KDD

1.1.1 Tại sao lại cần khai phá dữ liệu (datamining)

Khoảng hơn một thập kỷ trở lại đây, lượng thông tin được lưu trữ trên các thiết bị điện tử (đĩa cứng, CD-ROM, băng từ, v.v.) không ngừng tăng lên Sự tích lũy

dữ liệu này xảy ra với một tốc độ bùng nổ Người ta ước đoán rằng lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó số lượng cũng như kích cỡ của các cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng Nói một cách hình ảnh là chúng ta đang “ngập” trong dữ liệu nhưng lại “đói” tri thức Câu hỏi đặt ra là liệu chúng ta có thể khai thác được gì từ những “núi” dữ liệu tưởng chừng như “bỏ đi”

ấy không ?

“Necessity is the mother of invention” - Data Mining ra đời như một hướng

giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên [] Khá nhiều định nghĩa về Data Mining và sẽ được đề cập ở phần sau, tuy nhiên có thể tạm hiểu rằng Data Mining như

là một công nghệ tri thức giúp khai thác những thông tin hữu ích từ những kho dữ liệu

được tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào đó

1.1.2 Khai phá dữ liệu là gì?

Khai phá dữ liệu (datamining) được định nghĩa như là một quá trình chắt lọc

hay khai phá tri thức từ một lượng lớn dữ liệu Một ví dụ hay được sử dụng là là việc khai thác vàng từ đá và cát, Dataming được ví như công việc "Đãi cát tìm vàng" trong một tập hợp lớn các dữ liệu cho trước Thuật ngữ Dataming ám chỉ việc tìm kiếm một tập hợp nhỏ có giá trị từ một số lượng lớn các dữ liệu thô Có nhiều thuật ngữ hiện được dùng cũng có nghĩa tương tự với từ Datamining như Knowledge Mining (khai phá tri thức), knowledge extraction(chắt lọc tri thức), data/patern analysis(phân tích dữ liệu/mẫu), data archaeoloogy (khảo cổ dữ liệu), datadredging(nạo vét dữ liệu),

Định nghĩa: Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự

động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó

Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD (Knowleadge Discovery in Database) và KDD được xem như 7 quá trình khác nhau theo thứ tự sau:s

Trang 2

1 Làm sạch dữ liệu (data cleaning & preprocessing)s: Loại bỏ nhiễu và các dữ liệu không cần thiết

2 Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử lý (data cleaning & preprocessing)

3 Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ liệu

và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data), v.v

4 Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý

5 Khai phá dữ liệu(data mining): Là một trong các bước quan trọng nhất, trong đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu

6 Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm được thông qua các độ đo nào đó

7 Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật để biểu diễn và thể hiện trực quan cho người dùng

Hình 1 - Các bước trong Data Mining & KDD

Trang 3

1.1.3 Các chức năng chính của khai phá dữ liệu

Data Mining được chia nhỏ thành một số 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 Ví dụ: tóm tắt văn bản

• Luật kết hợp (association rules): là dạng luật biểu diễn tri thứ ở dạng khá đơn giản Ví dụ: “60 % nam giới vào siêu thị nếu mua bia thì có tới 80% trong số họ sẽ mua thêm thịt bò khô” Luật kết hợp được ứng dụng nhiều trong lĩnh vực kính doanh,

y học, tin-sinh, tài chính & thị trường chứng khoán, v.v

• 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 Ví dụ: phân lớp vùng địa lý theo dữ liệu thời

tiết Hướng tiếp cận này thường sử dụng một số kỹ thuật của machine learning như

cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network), v.v Người ta

còn gọi phân lớp là học có giám sát (học có thầy)

• 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 (học không thầy)

• 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 Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao

1.1.4 Ứng dụng của khai phá dữ liệu

Data Mining tuy là một hướng tiếp cận mới nhưng thu hút được rất nhiều sự quan tâm của các nhà nghiên cứu và phát triển nhờ vào những ứng dụng thực tiễn của

nó Chúng ta có thể liệt kê ra đây một số ứng dụng điển hình:

• Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision support)

• Điều trị y học (medical treatment)

• Text mining & Web mining

• Tin-sinh (bio-informatics)

• Tài chính và thị trường chứng khoán (finance & stock market)

Trang 4

• Bảo hiểm (insurance)

• Nhận dạng (pattern recognition)

• v.v

1.2 CƠ SỞ SỮ LIỆU HYPERTEXT VÀ FULLTEXT

1.2.1 Cơ sở dữ liệu FullText

Dữ liệu dạng FullText 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 Text Mỗi tài liệu chứa thông tin về một vấn đề nào đó thể hiện qua nội dung của tất cả các từ cấu thành tài liệu đó Ý nghĩa của mỗi từ trong tài liệu khkông cố định mà tuỳ thuộc vào từng ngữ cảnh khác nhau sẽ mang ý nghĩa khác nhau Các từ trong tài liệu được liên kết với nhau theo một ngôn ngữ nào đó

Trong các dữ liệu hiện nay thì văn bản là một trong những dữ liệu phổ biến nhất, nó có mặt ở khắp mọi nơi và chúng ta thường xuyên bắt gặp do đó các bài toán

về xử lý văn bản đã được đặt ra khá lâu và hiện nay vẫn là một trong những vấn đề trong khai phá dữ liệu Text, trong đó có những bài toán đáng chú ý như tìm kiếm văn bản, phân loại văn bản, phân cụm văn bản hoặc dẫn đường văn bản

CSDL full_text là một dạng 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 Cơ sở dữ liệu Full_Text thường được tổ chức như môt

tổ hợp của hai thành phần: 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

Nội dung cuả tài liệu được lưu trữ gián tiếp trong CSDL theo nghĩa hệ thống chỉ quản lý địa chỉ lưu trữ nội dung

Cơ sở dữ liệu dạng Text có thể chia làm hai loại sau:

Dạng không có cấu trúc (unstructured): Những văn bản thông thường mà

chúng ta thường đọc hàng ngày được thể hiện dưới dạng tự nhiên của con người và nó

CSDL Full-Text

CSDL có cấu trúc chứa đặc điểm

của các tài liệu

Các tài liệu

Trang 5

không có một cấu trúc định dạng nào VD: Tập hợp sách, Tạp chí, Bài viết được quản

lý trong một mạng thư viện điện tử

Dạng nửa cấu trúc (semi-structured): Những văn bản được tổ chức dưới dạng

cấu trúc không chặt chẽ như bản ghi các ký hiệu đánh dấu văn bản và vẫn thể hiện được nội dung chính của văn bản, ví dụ như các dạnh HTML, email,

Tuy nhiên việc phân làm hai loại cũng không thật rõ ràng, trong các hệ phần mềm, người ta thường phải sử dụng các phần kết hợp lại để thành một hệ như trong cá

hệ tìm tin (Search Engine), hoặc trong bài toán tìm kiếm văn bản (Text Retrieval), một trong những lĩnh vực qua tâm nhất hiện nay Chẳng hạn trong hệ tìm kiếm như Yahoo, Altavista, Google đều tổ chức dữ liệu theo các nhóm và thư mục, mỗi nhóm lại có thể có nhiều nhóm con nằm trong đó Hệ Altavista còn tích hợp thêm chương trình dịch tự động có thể dịch chuyển đổi sang nhiều thứ tiếng khác nhau và cho kết quả khá tốt

1.2.2 Cơ sở dữ liệu HyperText

Theo từ điển của Đại học Oxford (Oxford English Dictionary Additions Series) thì Hypertext được định nghĩa như sau: Đó là loại Text 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à Text 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 Ví dụ khi đọc một cuốn sách người đọc không phải đọc lần lượt từng trang từ đầu đến cuối mà có thể nhảy cóc đến các đoạn sau để tham khảo về các vấn đề họ quan tâm

Như vậy văn bản HyperText 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 Hiểu theo nghĩa thông thường thì HyperText là một tập các trang chữ viết được kết nối với nhau bởi các liên kết và cho phép người đọc có thể đọc theo các cách khác nhau Như ta đã làm quen nhiều với các trang định dạng HTML, trong các trang có những liên kết trỏ tới từng phần khác nhau của trang đó hoặc trỏ tới trang khác, và người đọc

sẽ đọc văn bản dựa vào những liên kết đó

Bên cạnh đó, HyperText cũng là một dạng văn bản Text đặ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) Do không bị hạn chế bởi tính liên tục trong HyperText, chúng ta có thể tạo ra các dạng trình bày mới, do đó tài liệu sẽ phản ánh tốt hơn nội dung muốn diễn đạt Hơn nữa người đọc có thể chọn cho mình một cách đọc phù hợp chẳng hạn như đi sâu vào một vấn đề mà họ

Trang 6

quan tâm Sáng kiến tạo ra một tậpc cá văn bản cùng với các con trỏ trỏ tới các văn bản khác để liên kết một tập các văn bản có mối quan hệ voiứ nhau với nhau là một cách thực sự hay và rất hữu ích để tổ chức thông tin Với người viết, cách này cho phép họ có thể thoải mái loại bỏ những băn khoăn về thứ tự trình bày, mà có thể tổ chức vấn đề thành những phần nhỏ, rồi sử dụng kết nối để chỉ ra mối liên hệ giữa các phần nhỏ đó với nhau

Với người đọc cách này cho phép họ có thể đi tắt trên mạng thông tin và quyết định phần thông tin nào có liên quan đến vấn đề mà họ quan tâm để tiêp tục tìm hiểu

So sánh với cách đọc tuyến tính, tức là đọc lần lượt thì HyperText đã cung cấp cho chúng ta một giao diện để có thể tiếp xúc với nội dung thông tin hiệu quả hơn rất nhiều Theo khía cạnh của các thuật toán học máy thì HyperText đã cung cấp cho chúng ta cơ hội nhìn ra ngoài phạm vi một tài liệu để phân lớp nó, nghĩa là có tính cả đến các tài liệu có liên kết với nó Tất nhiên không phải tất cả các tài liệu có liên kết đến nó đều có ích cho việc phân lớp, đặc biệt là khi các siêu liên kết có thể chỉ đến rất nhiều loại các tài liệu khác nhau Nhưng chắc chắn vẫn còn tồni tại tiềm năng mà con người cần tiếp tục nghiên cứu về việc sử dụng các tài liệu liên kết đến một trang để nâng cao độ chính xác phân lớp trang đó

Có hai khái niệm về HyperText mà chúng ta cần quan tâm:

Hypertext Document (Tài liệu siêu văn bản): 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 với các nút Hypertext Link (Liên kết siêu văn bản): Là một tham chiếu

để nối một tài liệu HyperText này với một tài liệu HyperText khác Các siêu liên kết đóng vai trò như những đường nối trong đồ thị nói trên

HyperText là loại dữ liệu phổ biến hiện nay, và cũng là loại dữ liệu có nhu cầu tìm kiếm và phân lớp rấ lớn Nó là dữ liệu phổ biến trên mạng thông tin Internet CSDL HyperText với văn bản dạng “nửa cấu trúc” do xuất hiện thêm các “thẻ “: Thẻ cấu trúc (tiêu đề, mở đầu, nội dung), thẻ nhấn trình bày chữ (đậm, nghiêng,…) Nhờ các thẻ này mà chúng ta có thêm một tiêu chuẩn (so với tài liệu fulltext) để có thể tìm kiếm và phân lớp chúng Dựa vào các thẻ đã quy định trước chúng ta có thể phân thành các độ

ưu tiên khác nhaucho các từ khóa nếu chúng xuất hiện ở những vị trí khác nhau Ví dụ khi tìm kiếm các tài liệu có nội dung liên quan đến “people “ thì chúng ta đưa từ khóa tìm kiếm là “people”, và các tài liệu có từ khóa “poeple” đứng ở tiêu đề thì sẽ gần với yêu cầu tìm kiếm hơn

Trang 7

So sánh đặc điểm của dữ liệu Fulltext và dữ liệu trang web

Mặc dự trang Web là một dang đặc biệt của dữ liệu FullText, nhưng cú nhiều điểm khỏc nhau giữa hai loại dữ liệu này Một số nhận xột sau đõy cho thấy sự khỏc nhau giữa dữ liệu Web và FullText Sự khỏc nhau về đặc điểm là nguyờn nhõn chớnh dẫn đến sự khỏc nhau trong khai phỏ hai loại dữ liệu này (phõn lớp, tỡm kiếm,…) Một sơ đồ minh hoạ Hypertext Document như là cỏc nỳt và cỏc Hypertext Link như là

cỏc liờn kết giữa chỳng

Trang 8

Một số đối sánh dưới đây về đặc điểm giữa dữ liệu Fulltext với dữ liệu trang

đã được trình bày trong [2]

STT Trang web Văn bản thông thường (Fulltext)

1 Là dạng văn bản “nửa cấu trúc”

Trong nội dung có phần tiêu đề và

có các thẻ nhấn mạnh ý nghĩa của

từ hoặc cụm từ

Văn bản thường là dạng văn bản “phi cấu trúc” Trong nội dung của nó không có một tiêu chuẩn nào cho ta dựa vào đó để đánh giá

2 Nội dung của các trang Web

thường đườn mô tả ngắn gọn, cô

đọng, có các siêu liên kết chỉ ra

cho người đọc đến những nơi

khác có nội dung liên quan

Nội dung của các văn bản thông thường thường rất chi tiết và đầy đủ

3 Trong nội dung các trang Web có

chứa các siêu liên kết cho phép

liên kết các trang có nội dung liên

với nhau

Các trng văn bản thông thường không liên kết được đến nội dung của các trang khác

1.3 KHAI PHÁ DỮ LIỆU VĂN BẢN (TEXTMINING) VÀ KHAI PHÁ DỮ LIỆU WEB (WEBMINING)

Như đã đề cập ở trên, TextMining (Khai phá dữ liệu văn bản) và WebMining (Khai phá dữ liệu Web) là một trong những ứng dụng quan trọng của Datamining Trong phần này ta sẽ đi sâu hơn vào bài toán này

1.3.1 Các bài toán trong khai phá dữ liệu văn bản

Trang 9

như vậy mà đưa ra các danh sách văn bản theo độ quan trọng của văn bản tuỳ theo các câu hỏi đưa vào, ví dụ điển hình là các máy tìm tin như Google, Altavista,…

b Quá trình

Quá trình tìm tin được chia thành bốn quá trình chính :

Đánh chỉ số (indexing): Các văn bản ở dạng thô cần được chuyển sang một

dạng biểu diễn nào đó để xử lý Quá trình này còn được gọi là quá trình biểu diễn văn bản, dạng biểu diễn phải có cấu trúc và dẽ dàng khi xử lý

Định dạng câu hỏi: Người dùng phải mô tả những yêu cầu về lấy thông tin cần

thiết dưới dạng câu hỏi Các câu hỏi này phải được biểu diễn dưới dạng phổ biến cho các hệ tìm kiếm như nhập vào các từ khóa cần tìm Ngoài ra còn có các phương pháp định dạng câu hỏi dưới dạng ngôn ngữ tự nhiên hoặc dưới dạng các ví dụ, đối với các dạngnày thì cần có các kỹ thuật xử lý phức tạp hơn Trong các hệ tìm tin hiện nay thì đại đa số là dùng câu hỏi dưới dạng các từ khóa

So sánh: Hệ thống phải có sự so sánh rõ ràng và hoàn toàn câu hỏi các câu hỏi

của người dùng với các văn bản đượcl ưu trữ trong CSDL Cuối cùng hệ đưa ra một quyết định phân loại các văn bản có độ liên quan gầnvới câu hỏi đưa vào và thứ tự của

nó Hệ sẽ hiển thị toàn bộ văn bản hoặc chỉ một phần văn bản

Phản hồi: Nhiều khi kết quả được trả về ban đầu không thỏa mãn yêu cầu của

người dùng, do đó cần phải có qua trình phản hồi để người dùng có thểt hay đổi lại hoặc nhập mới các yêu cầu của mình Mặt khác, người dùng có thể tương tác với các

hệ về các văn bản thỏa mãn yêu cầu của mình và hệ có chức năng cập nhậu các văn bản đó Quá trình này được gọi là quá trình phản hồi liên quan (Relevance feeback)

Các công cụ tìm kiếm hiện nay chủ yếu tập trung nhiều vào ba quá trình đầu, còn phần lớn chưa có quá trình phản hồi hay xử lý tương tác người dùng và máy Quá trình phản hồi hiện nay đang được nghiên cứu rộng rãi và riêng trong quá trình tương tác giao diện người máy đã xuất hiện hướng nghiên cứu là interface agent

2 Phân lớp văn bản(Text Categoization)

a Nội dung

Phân lớp văn bản được xem như là quá trình gán các văn bản vào một hay nhiều văn bản đã xác định từ trước Người ta có thể phân lớp các văn bản mộtc ách thủ công, tức là đọc từng văn bản một và gán nó vào một lớp nào đó Cách này sẽ tốn rất nhiều thời gian và công sức đối với nhiều văn bản và do đó không khả thi Do vậy mà

Trang 10

phải có các phương pháp phân lớp tự động Để phân lớp tự động người ta sử dụng các phương pháp học máy trong trí tuệ nhân tạo (Cây quyết định, Bayes, k người láng giềng gần nhất)

Một trong những ứng dụng quan trọng nhất của phân lớp văn bản là trong tìm kiếm văn bản Từ một tập dữ liệu đã phân lớp các văn bản sẽ được đánh chỉ số đô ívới từng lớp tương ứng Người dùng có thể xác định chủ đề hoặc phân lớp văn bản mà mình mong muốn tìm kiếm thông qua các câu hỏi

Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực tìm hiểu văn bản Phân lớp văn bản có thể được sử dụng để lọc các văn bản hoặc một phần các văn bản chứa dữ liệu cần tìm mà không làm mất đi tính phức tạp của ngôn ngữ tự nhiên

Trong phân lớp văn bản, một lớp có thể được gán giá trị đúng sai (True hay False hoặc văn bản thuộc hay không thuộc lớp) hoặc được tính theo mức độ phụ thuộc (văn bản có môt mức độ phụ thuộc vào lớp) Trong trương hợp có nhiều lớp thì phân loại đúng sai sẽ là việc xem một văn bản có thuộc vào một lớp duy nhất nào đó hay không

b Quá trình

Quá trình phân lớp văn bản tuân theo các bước sau:

Đánh chỉ số (Indexing): Quá trình đánh chỉ số văn bản cũng giống như trong

quá trình đánh chỉ số của tìm kiếm văn bản Trong phần này thì tốc độ đánh chỉ số đóng vai trò quan trọng vì một số các văn bản mới có thể cần đươc xử lý trong thời gían thực

Xác định độ phân lớp: Cũng giống như trong tìm kiếm văn bản, phân lớp văn

bản yêu cầu quá trình diễn tả việc xác định văn bản đó thuộc lớp nào đó như thế nào, dựa trên cấu trúc biểu diễn của nó Đối với hệ phân lớp văn bản, chúng ta gọi quá trình này là bộ phân lớp (Categorization hoặc classifier) Nó đóng vai trò như những câu hỏi trong hệ tìm kiếm Nhưng trong khi những câu hỏi mang tính nhất thời, thì bộ phân loại được sử dụng một cách ổn định và lâu dài cho quá trình phân loại

So sánh: Trong hầu hết các bộ phân loại, mỗi văn bản đều được yêu cầu gán

đúng sai vào một lớp nào đó Sự khác nhau lớn nhất đối với quá trình so sánh trong hệ tìm kiếm văn bản là mỗi văn bản chỉ được so sánh với một số lượng các lớp một lần và việcc họn quyết đnịh phù hợp còn phụ thuộc vào mối quan hệ giữa các lớp văn bản

Trang 11

Phản hồi (Hay thích nghi): Quá trình phản hồi đóng vai trò trong hệ phân lớp

văn bản Thứ nhất là khi phân loại thì phải có môt số lượng lớn các văn bản đã được xếp loại bằng tay trước đó, các văn bản này được sử dụng làm mẫu huấn luyện để hỗ trợ xây dựng bộ phân loại Thứ hai là đối với việc phân loại văn bản này không dễ dàng thay đổi các yêu cầu như trong quá trình phản hồi của tìm kiếm văn bản , người dùng có thể thông tin cho người bảo trì hệ thống về việc xóa bỏ, thêm vào hoặc thay đổi các phân lớp văn bản nào đó mà mình yêu cầu

1.3.2 Khai phá dữ liệu Web

a Nhu cầu

Sự phát triển nhanh chóng của mạng Internet và Intranet đã 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ữ liệu Web) Cùng với sự thay đổi và phát triển hàng ngaỳ hàng giờ về nội dung cũng như số lượng của các trang Web trên Internet thì vấn đề tìm kiếm thôn g tin đối với người sử dụng lại ngày càng khó khăn

Có thể nói nhu cầu tìm kiếm thông tin trên môt CSDL phi cấu trúc đã được phát triển chủ yếu cùng với sự phát triển của Internet Thực vậy 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 Trong những năm gần đây Intrnet đã trở thành một trong những kênh về khoa học, thông tin kinh tế, thương mại

và quảng cáo Một trong những lý do cho sự phát triển này là sự thấp về giá cả tiêu tốn khi công khai một trang Web trên Internet So sánh với những dịch vụ khác như mua bản hay quảng cáo trên một tờ báo hay tạp chí, thì một trang Web "đòi" rẻ hơn rất

Trang 12

nhiều và cập nhật nhanh chóng hơn tới hàng triệu người dùng khắp mọi nơi trên thế giới Có thể nói trang Web như là cuốn từ điển Bách khoa toàn thư 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 Có thể nói Internet như một

xã hội ảo, nó bao gồm các thông tin về mọi mặt của đời sống kinh tế, xã hội được trình bày dưới dạng văn bản, hình ảnh, âm thanh,

Tuy nhiên cùng với sự đa dạng và số lượng lớn thông tin như vậy đã nảy sinh vấn đề quá tải thông tin Người ta không thể tìm tự kiếm địa chỉ trang Web chứa thông tin mà mình cần, do vậy đòi hỏi cần phải có một trình tiện ích quản lý nội dung của các trang Web và cho phép tìm thấy các địa chỉ trang Web có nội dung giống với yêu cầu của người tìm kiếm Các tiện ích này quản lý dữ liệu như các đối tượng phi cấu trúc Hiện nay chúng ta đã làm quen với một số các tiện ích như vậy đó là: Yahoo, goolel, Alvista,

Mặt khác, giả sử chúng ta có các trang Web về các vấn đề Tin học, Thể thao, Kinh tể-Xã hội và xây dựng Căn cứ vào nội dung của các tài liệu mà khách hàng xem hoặc download về, sau khi phân lớp chúng ta sẽ biết khách hàng hay tập trung vào nội dung gì trên trang Web của chúng ta, từ đó chúng ta sẽ bổ sung thêm nhiều các tài liệu

về các nội dung mà khách hàng quan tâm và ngược lại Còn về phía khách hàng sau khi phân tích chúng ta cũng biết được khách hàng hay tập trung về vấn đề gì, để từ đó

có thể đưa ra những hỗ trợ thêm cho khách hàng đó Từ những nhu cầu thực tế trên, phân lớp và tìm kiếm trang Web vẫn là bài toán hay và cần phát triển nghiên cứu hiện nay

b Khó khăn

Hệ thống phục vụ World Wide Web như là một hệ thống trung tâm rất lớn phân bố rộng cung cấp thông tin trên mọi lĩnh vực khoa học, xã hội, thương mại, văn hóa, Web là một nguồn tài nguyên giàu có cho Khai phá dữ liệu Những quan sát sau đây cho thấy Web đã đưa ra sự thách thức lớn cho công nghệ Khai phá dữ liệu

1 Web dường như quá lớn để tổ chức thành một kho dữ liệu phục vụ

Dataming

Các CSDL truyền thống thì có kích thước không lớn lắm và thường được lưu trữ ở một nơi, , Trong khi đó kích thước Web rất lớn, tới hàng terabytes và thay đổi liên tục, không những thế còn phân tán trên rất nhiều máy tính khắp nơi trên thế giới Một vài nghiên cứu về kích thước của Web đã đưa ra các số liệu như sau: Hiện nay trên Internet có khoảng hơn một tỷ các trang Web được cung cấp cho người sử dụng.,

Trang 13

giả sử kích thước trung bình của mỗi trang là 5-10Kb thì tổng kích thước của nó ít nhất

là khoảng 10 terabyte Còn tỷ lệt ăng của các trang Web thì thật sự gây ấn tượng Hai năm gần đây số các trang Web tăng gấp đôi và còng tiếp tục tăng trong hai năm tới Nhiều tổ chức và xã hội đặt hầu hết những thông tin công cộng của họ lên Web Như vậy việc xây dựng một kho dữ liệu (datawarehouse) để lưu trữ, sao chép hay tích hợp các dữ liệu trên Web là gần như không thể

2 Độ phức tạp của trang Web lớn hơn rất nhiều so với những tài liệu văn bản truyền thống khác

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ì hoàn toàn không đồng nhất Ví dụ về ngôn ngữ dữ liệu Web bao gồm rất nhiều loại ngôn ngữ khác nhau (Cả ngôn ngữ diễn

tả nội dung lẫn ngôn ngữ lập trình), nhiều loại định dạng khác nhau (Text, HTML, PDF, hình ảnh âm thanh,…), nhiều loại từ vựng khác nhau (Địa chỉ Email, các liên kết (links), các mã nén (zipcode), số điện thoại)

Nói cách khác, trang Web thiếu một cấu trúc thống nhất Chúng được coi như một thư viện kỹ thuật số rộng lớn, tuy nhiên con số khổng lồ các tài liệu trong thư viện thì không được sắp xếp tuân theo một tiêu chuẩn đặc biệt nào, không theo phạm trù, tiêu đề, tác giả, số trang hay nội dung, Điều này là một thử thách rất lớn cho việc tìm kiếm thông tin cần thiết trong một thư viện như thế

3 Web là một nguồn tài nguyên thông tin có độ thay đổi cao

Web không chỉ có thay đổi về độ lớn mà thông tin trong chính các trang Web cũng được cập nhật liên tục Theo kết quả nghiên cứu , hơn 500.000 trang Web trong hơn 4 tháng thì 23% các trang thay đổi hàng ngày, và khoảng hơn 10 ngày thì 50% các trang trong tên miền đó biến mất, nghĩa là địa chỉ URL của nó không còn tồn tại nữa Tin tức, thị trường chứng khoán, các công ty quản cáo và trung tâm phục vụ Web thường xuyên cập nhật trang Web của họ.s Thêm vào đó sự kết nối thông tin và sự truy cập bản ghi cũng được cập nhật

4 Web phục vụ một cộng đồng người dùng rộng lớn và đa dạng

Internet hiện nay nối với khoảng 50 trạm làm việc, và cộng đồng người dùng vẫn đang nhanh chóng lan rộng Mỗi người dùng có một kiến thức, mối quan tâm, sở thích khác nhau Nhưng hầu hết người dùng không có kiến thức tốt về cấu trúc mạng thông tin, hoặc không có ý thức cho những tìm kiếm, rất dễ bị "lạc" khi đang "mò

Trang 14

mẫm"trong "bóng tối" của mạng hoặc sẽ chán khi tìm kiếm mà chỉ nhận những mảng thông tin không mấy hữu ích

5 Chỉ một phần rất nhỏ của thông tin trên Web là thực sự hữu ích

Theo thống kê, 99% của thông tin Web là vô ích với 99% người dùng Web Trong khi những phần Web không được quan tâm lại bị búi vào kết quả nhận được trong khi tìm kiếm Vậy thì ta cần phải khai phá Web như thế nào để nhận được trang web chất lượng cao nhất theo tiêu chuẩn của người dùng?

Như vậy chúng ta có thể thấy các điểm khác nhau giữa việc tìm kiếm trong một CSDL truyền thống với vviệc tìm kiếm trên Internet Những thách thức trên đã đẩy mạnh việc nghiên cứu khai phá và sử dụng tài nguyên trên Internet

2 Một máy chủ Web thường đăng ký một bản ghi đầu vào (Weblog entry) cho mọi lần truy cập trang Web Nó bao gồm địa chỉ URL, địa chỉ IP, timestamp Dữ liệu Weblog cung cấp lượng thông tin giàu có về những trang Web động Với những thông tin về địa chỉ URL, địa chỉ IP,… một cách hiển thị đa chiều có thể được cấu trúc nên dựa trên CSDL Weblog Thực hiện phân tích OLAP đa chiều có thể đưa ra N người dùng cao nhất, N trang Web truy cập nhiều nhất, và khoảng thời gian nhiều người truy cập nhất, xu hướng truy cập Web

d Các nội dung trong Webmining

Như đã phân tích về đặc điểm và nội dung các văn bản HyperText ở trên, từ

đó khai phá dữ liệu Web cũng sẽ tập trung vào các thành phần có trong trang Web Đó chính là:

1 Khai phá nội dung trang Web (Web Content mining)

Trang 15

Khai phá nội dung trang Web gồm hai phần:

a Web Page Content

Nghĩa là sẽ sử dụng chỉ các từ trong văn bản mà không tính đến các liên kết giữa các văn bản Đây chính là khai phá dữ liệu Text (Textmining)

b.Search Result

Tìm kiếm theo kết quả Trong các máy tìm kiếm, sau khi đã tìm ra những trang Web thoả mãn yêu cầu người dùng, còn một công việc không kém phần quan trọng, đó là phải sắp xếp kết quả theo thứ tự dộ gần nhau với nội dung cần tìm kiếm Đây cũng chính là khai phá nội dung trang Web

2 Web Structure Mining

Khai phá dựa trên các siêu liên kết giữa các văn bản có liên quan

3 Web Usage Mining

a General Access Partern Tracking:

Phân tích các Web log để khám phá ra các mẫu truy cập của người dùng trong trang Web

b Customize Usage Tracking:

Phân tích các mẫu truy cập của người dùng tại mỗi thời điểm để biết xu hướng truy cập trang Web của từng đối tượng người dùng tại mỗi thời điểm khác nhau

Các nội dung trong khai phá Web

Web Structure

Web Content

Web Page

Content Search Result

Web Usage

General Access Pattern

Customized Usage

Web Mining

Trang 16

Chương 2 MÁY TèM KIẾM

2.1 NHU CẦU

Như đó đề cập ở phần trờn Internet như một xó hội ảo, nú bao gồm cỏc thụng tin về mọi mặt của đời sống kinh tế, xó hội được trỡnh bày dưới dạng văn bản, hỡnh ảnh, õm thanh, 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 Tuy nhiờn cựng với sự đa dạng và số lượng lớn thụng tin như vậy đó nảy sinh vấn đề quỏ tải thụng tin Đối với mỗi người dựng chỉ một phần rất nhỏ thụng tin là cú ớch, chẳng hạn cú người chỉ quan tõm đến trang Thể thao, Văn húa mà khụng mấy khi quan tõm đến Kinh tế Người ta khụng thể tỡm tự kiếm địa chỉ trang Web chứa thụng tin mà mỡnh cần, do vậy đũi hỏi cần phải cú một trỡnh tiện ớch quản

lý nội dung của cỏc trang Web và cho phộp tỡm thấy cỏc địa chỉ trang Web cú nội dung giống với yờu cầu của người tỡm kiếm Hiện nay chỳng ta đó làm quen với một

số cỏc tiện ớch như vậy đú là: Yahoo, Google, Alvista,

Máy tìm kiếm là các hệ thống được xây dựng có khả năng tiếp nhận các yêu cầu tìm kiếm của người dùng (thường là một tập các từ khoá), sau đó phân tích và tìm kiếm trong cơ sở dữ liệu đã có sẵn và đưa ra các kết quả là các trang web cho người

sử dụng Cụ thể, người dựng gửi một truy vấn, dạng đơn giản nhất là một danh sỏch cỏc từ khúa, và mỏy tỡm kiếm sẽ làm việc để trả lại một danh sỏch cỏc trang Web cú liờn quan hoặc cú chứa cỏc từ khúa đú Phức tạp hơn, thỡ truy vấn là cả một văn bản hoặc một đoạn văn bản hoặc nội dung túm tắt của văn bản

2.2 CẤU TRÚC VÀ CƠ CHẾ HOẠT ĐỘNG

2.2.1 Tổng quan về cỏc hệ tỡm kiếm hiện nay

Bằng một vớ dụ cụ thể, ta xem xột hệ tỡm kiếm Google

Trong phần này ta đưa ra cỏi nhỡn tổng quan về cỏch làm việc của một hệ tỡm kiếm Google Phần sau sẽ thảo luận về ứng dụng chớnh (Crawling, indexing, searching) và cấu trỳc dữ liệu mà phần này chưa kịp đề cập

Phần lớn Google được thiết kế bằng C, C++ và chạy tốt trờn Solaris hay Linux Trong Google, Web crawling(download cỏc trang Web) được thực hiện bởi một vài Webcrawler phõn tỏn Cú một mỏy chủ URL gửi danh sỏch cỏc URL mà

đó được đớnh kốm tới crawler Những trang Web được đớnh kốm đú đựơc gửi tới mỏy chủ lưu trữ Mỏy chủ lưu trữ sẽ nộn và lưu trữ cỏc trang vào Repository (Nơi lưu trữ) Mọi trang Web đều cú một chỉ số ID kốm theo gọi là DocID Chức năng

Trang 17

Index được được thực hiện bởi

Indexer và Sorter Indexer thực hiện

các chức năng sau: Đọc từ

Repository , giải nén tài liệu và

phân tích chúng Mỗi tài liệu được

hyperlink trên tất cả các trang và

lưu trữ những thông tin quan trọng

về chúng vào một file nguồn File

này chứa một lượng đủ lớn các

thông tin để xác định mỗi liên kết trỏ từ và trỏ tới trang nào, cùng nội dung của liên kết

Như vậy, Crawler có nhiệm vụ down các trang web về lưu trữ vào

respository

Indexer đọc từ respository giải nén các tài liệu và phân tích, mã hóa thành Hits, sắp xếp thành "Barrels" Phân tích tất cả các hyperlink lưu trữ vào một file

2.2.2 Cấu trúc của các hệ tìm kiếm

Các máy tìm kiếm hiện nay thường được tổ chức thành ba Modul sau:

Modul đánh chỉ mục (indexing): Dò tìm các trang Web trên Internet, phân

tích chúng rồi lưu vào CSDL

Modul tìm kiếm (searching): Truy xuất các CSDL để trả về danh sách các tài

liệu thỏa mãn một yêu cầu người dùng (dưới dạng truy vấn là một tập các từ khóa)

Modul giao diện người máy: Lấy kểt quả từ modul tìm kiếm

Sau đây ta đi sâu vào chi tiết của từng modul và nhiệm vụ của chúng

H×nh 2.3_M« h×nh kiÕn tróc cña m¸y t×m kiÕm Google

Trang 18

a Modul đánh chỉ mục (Indexing)

Modul đánh chỉ mục thực hiện các nhiệm vụ sau

1 Phân tích cú pháp văn bản và đánh chỉ mục toàn bộ các từ khoá trong văn bản (số lần xuất hiện, vị trí xuất hiện)

2 Lập đồ thị liên kết giữa các siêu văn bản (liên kết xuôi và liên kết ngược)

3 Tính toán độ quan trọng – PageRank của tất cả các văn bản dựa vào cấu trúc

liên kết siêu văn bản (GoogleTM)

Sau đây, ta xem xét chi tiết từng nhiệm vụ

a.1 Bộ dò trên Web theo các hyperlink (Web Crawler)

Crawler (s): Hầu hết các máy tìm kiếm hoạt động dựa trên các chương trình

có tên là Crawler, chương trình này cung cấp dữ liệu (là các trang Web) cho máy tìm kiếm hoạt động Crawler là các chương trình nhỏ của các máy tìm kiếm làm công việc duyệt Web Công việc của nó cũng tương tự như công việc của con người truy cập Web dựa vàomối liên kết để đi đến các trang Web khác nhau Các Crawler được cung cấp các địa chỉ URL ban đầu và sẽ phân tích các liên kết có trong các trang đó và đưa

các thông tin về cho bộ phận điều khiển crawler (Crawler control) Bộ phận điều

khiển này sẽ quyết định xem liên kết nào sẽ được đi thăm tiếp theo và gửi lại kết quả

đó cho Crawler (trong một vài máy tìm kiếm chức năng này của bộ phận điều khiển crawler có thể được crawler thực hiện luôn) Các Crawler cũng chuyển luôn các trang

đã tìm thấy đó vào kho chứa các trang (Page Repository), tiếp tục đi thăm các trang

Web khác trên Internet cho đến khi các nguồn chứa cạn kiệt

Vậy modul Crawler truy lục các trang lấy từ Mạng, download xuống sau đó các trang đựợc đánh chỉ mục bởi Môdul đánh chỉ mục, sau đó đẩy vào CSDL Quá trình này cứ lặp đi lặp lại cho đến khi Crawler có quyết định dừng

Để bộ điều khiển quyết định được trang Web nào được đi thăm tiếp theo

Một máy tìm kiếm tiêu chuẩn cần xem xét hai vấn đề chính trong modul crawler:

- Số các trang Web là rất lớn, nên Crawler không thể down toàn bộ các trang

mà chỉ chọn những trang "quan trọng" Vậy những trang như thế nào được coi là quan trọng và độ quan trọng được tính toán như thế nào?

Trang 19

- Bởi vì nội dung các trang Web liên tục thay đổi nên sau khi download, crawler phải thường xuyên thăm lại các trang đã được down để cập nhật sự thay đổi

đó Hơn nữa mức độ thay đổi của các trang là khác nhau nên crawler phải cẩn thận xem xét trang nào cần xem lại, trang nào bỏ qua

Vấn đề 1: Độ quan trọng

Cho một trang Web P, chúng ta có các cách tính độ quan trọng sau:

1 Có một truy vấn Q Độ quan trọng của P được định nghĩa là "sự giống nhau

về từ ngữ" giữa P và Q

2 Biểu diễn Q và P bởi hai vector n chiều v=(w1, w2, , wn) với wi là biểu thị cho từ thứ i trong bộ từ vựng , cụ thể wi=số lần xuất hiện của từ thứ i Độ chêch lệch giữa P và Q là giá trị cos của hai vector biểu diễn

Gọi độ quan trọng nhận được từ phương pháp tính này là IS(P)

2 Trang nào được nhiều trang khác link đến sẽ quang trọng hơn, nên một cách

để tính độ quan trọng của trang P là tính số link đến P

Gọi độ quan trọng nhận được từ phương pháp tính này là IB(P)

3 Tính độ quan trọng bởi chính địa chỉ URL của nó Nếu địa chỉ trang Web nào tận cùng bằng".com" hay có chứa từ "home" sẽ quan trọng hơn

Gọi độ quan trọng nhận được từ phương pháp tính này là IL(P)

4 Một phương pháp nữa để tính độ quan trọng là đếm số lần người dùng truy cập vào trang trong một khoảng thời gian nào đó

Vậy cuối cùng độ quan trọng của trang P sẽ là sự kết hợp của các độ quan trọng tính theo các cách trên, theo một tỷ lệ nào đó:

IC(P)=k1 IS (P)+k2.IB(P)+ k3.IL(P)+k4.IU(P) (với k1,k2,k3,k4 và truy vấn Q là cho trước)

Vấn đề 2: Sự cập nhật các trang đã download

Có hai chiến lược cho sự cập nhật các trang đã download:

1 Cập nhật theo định kỳ tất cả các trang: crawler sẽ thăm lại tất cả các trang với cùng một tần số f, không tính đến mức độ thường xuyên thay đổi của chúng.Nghĩa là các trang được “đối xử” công bằng bất kể chúng thay đổi ra sao

Trang 20

Cập nhật thường xuyên theo nghĩa là khi down được 10.000 trang chẳng hạn thì sẽ tính lại PageRank, index của word trong URL

2 Cập nhật theo một tỷ lệ: Trang nào càng nhiều thay đổi thì tần suất cập nhật càng lớn VD: các trang e1, e2, ,en, thay đổi theo thứ tự k1,k2, ,kn lần

a.2 Indexing (Quá trình đánh chỉ mục)

Indexer Module sẽ tìm hiểu tất cả các từ trong từng trang Web được lưu trữ

trong kho chứa các trang, và ghi lại các địa chỉ URL của các trang có chứa mỗi từ Kết quả sinh ra một bảng chỉ mục rất lớn, và nhờ có bảng chỉ mục này nó có thể cung cấp tất cả các

địa chỉ URL của các

trang khi có yêu cầu

Để xây dựng chỉ số liên kết (link indext), một phần của bộ dò (Crawler)

được mã hóa dưới dạng một sơ đồ với các nút và các cạnh nối, trong đó các nút là các trang Web, các cạnh nối giữa các nút là các liên kết giữa các trang Chỉ số index sẽ được xây dựng lần theo các nút và các cạnh của sơ đồ (vẽ hình)

H×nh1.2_§å thÞ minh ho¹ c¸c nút ( tài liÖu Hypertext)

và các cạnh nối (link) trong mét tËp tµi liÖu Hypertext

Trang 21

Thông thường, thông tin có cấu trúc phổ biến nhất được sử dụng bởi các

thuật toán tìm kiếm trong các hệ tìm tin là các thông tin lấy từ các trang có liên kết,

chính sơ đồ liên kết trên đã cung cấp một cách hữu hiệu sự truy cập tới các thông

tin láng giềng đó Những sơ đồ nhỏ với hàng trăm thậm chí hàng nghìn nút có thể

được biểu diễn bởi bất kỳ một cấu trúc dữ liệu nào, song cùng sự thực hiện đó

nhưng với một sơ đồ lớn hơn có hàng triệu nút lại là một thách thức lớn

Text Index

Mặc dù kỹ thuật dựa vào liên kết đã được sử dụng để tăng cường chất

lượng và độ liên quan giữa các kết quả tìm được, thì sự truy xuất dựa vào từ mục

(tìm kiếm các trang có chứa các từ khóa) vẫn là một phương pháp chính để xác

định các trang web có liên quan đến truy vấn Cách đánh chỉ số hỗ trợ truy vấn dựa

vào từ mục có thể được thực hiện bằng cách sử dụng bất kỳ phương pháp truy cập

truyền thống nào để tìm trên toàn bộ nội dung tài liệu.Máy tìm kiếm sử dụng chỉ

mục liên kết ngược (Inverted Index) cho việc biểu diễn tài liệu Chỉ mục liên kết

ngược (Inverted Index) là lựa chọn truyền thống cho cấu trúc chỉ số của các trang

Web

VÝ dô chóng ta cã 4 văn bản sau:

văn bản 1: computer science

văn bản 2: computer is about live

văn bản 3: to live or not to live

Quá trình tạo file Index như sau:

- Lấy tÊt c¶ c¸c tõ cã mÆt trong c¶ 4 tµi liÖu

Trang 22

Tuy nhiên một thuật toán tìm kiếm thường sử dụng thêm những thông tin về

sự xuất hiện của từ mục trong trang web, ví dụ từ mục được viết hoa (nằm trong thẻ

<B>), hay từ mục nằm ở phần tiêu đề (nằm trong thẻ <H1> và <H2>) Để kết hợp

những thông tin này, một trường mới được thêm vào gọi là trường payload(tải trọng),

trường này mã hóa các thông tin thêm về sự xuất hiện của các từ mục trong văn bản Những thông tin này phục vụ cho thuật toán Ranking sau này

Inverted index

Inverted index được lưu trữ qua file CSDL các bản ghi.Việc xây dựng một CSDL để lưu trữ Inverted Index cho bộ dữ liệu lớn như tập các trang web trên internet đòi hỏi một kiến trúc phân tán với độ mềm dẻo cao Trong môi trường Web có hai chiến lược cơ bản cho việc chia các Inverted Index thành một tập các nút khác nhau để

có thể lưu trữ phân tán tại nhiều nơi khác nhau

KiÓu thø nhÊt lµ local inverted file (IFL)

Trong tổ chức kiểu IFL thì mỗi nút lưu trữ các danh sách inverted index của một tập nhỏ các trang Web khác nhau trong tập các trang Web lưu trữ trong bộ phận lưu trữ (page repository) Khi có yêu cầu tìm kiếm thì bộ phận search query sẽ truyền yêu cầu đi tất cả các nút, mỗi nút sẽ trả lại một danh sách riêng các trang có chứa các

từ đang tìm kiếm

KiÓu thø hai lµ Global inverted file (GFL)

Trong tổ chức kiểu GFL, inverted index được chia theo các từ, vì vậy mỗi một query server lưu trữ danh sách inverted index của một tập nhỏ các từ trong bộ dữ liệu

Ví dụ hệ thống với hai query server A và B, thì A sẽ lưu trữ danh sách inverted index cho tất cả các từ với ký tự bắt đầu từ a đến o, còn B lưu trữ cho các từ còn lại từ p đến

Trang 23

z Vì vậy khi bộ phận search query muốn tìm các trang có chứa từ “people” thì nó sẽ chỉ hỏi server A

Cấu trúc dữ liệu chính

Modul Indexer lấy các trang đã được Crawler down về chứa trong Repository, Đánh chỉ sổ lưu vào CSDL CSDL được tạo ra trong quá trình index Đây là cấu trúc chính của cơ sở dữ liệu trong hầu hết các máy tìm kiếm:

a Một File Từ khóa gồm các bản ghi, mỗi bản ghi tối thiểu có hai trường : Mã

số từ khóa, từ khóa (hình a) Các từ khóa này dược thiết lập trong quá trình Indexing: Đọc File văn bản, tách từ khóa, xem đã có trong file từ khóa chưa Nếu chưa có tạo ra bản gi mới trong file từ khóa, trong đó có mã số từ khóa và tất nhiên có luôn được mã

số Nếu có rồi thì lấy mã số Mã số lấy được dùng cho việc tạo ra bản ghi tếp theo

b File chứa các văn bản quản lý trong hệ thống gồm các bản ghi, mỗi bản ghi cho một văn bản, tối thiểu có các trường là: Mã văn bản, tên văn bản (địa chỉ URL), địa chỉ trong máy hệ thống chứa file văn bản (cache của các trang web đó) (hình b)

c File chứa sự xuất hiện của các từ khóa trong văn bản gồm các bản ghi, mỗi bản ghi có ba trường: mã số văn bản, mã số từ khóa, vị trí xuất hiện từ khóa này trong

văn bản (hình c)( Đây chính là file chỉ số liên kết ngược(Inverted index))

Cách tổ chức CSDL: Sử dụng cấu trúc hàm băm _theo các từ vựng

Thách thức

- Việc xây dựng một file chỉ mục liên kết ngược (inverted index) liên quan đến việc tiền xử lý các trang thành các phần nhỏ, sắp xếp chúng vào các chỉ số từ mục và định vị trí cho chúng, cuối cùng viết ra những phần đã được sắp xếp dưới dạng một tập hợp các danh sách liên kết ngược Thời gian xây dựng file index không qua khắt khe, tuy nhiên khi làm việc với một tập hợp các trang Web, một số file chỉ số trở nên khó quản lý và yêu cầu nguồn tài nguyên lớn (chẳng hạn như bộ nhớ), và thường cần nhiều thời gian để hoàn thành Sự so sánh với những hệ tìm tin truyền thống cho thấy, với hệ thống đang nghiên cứu, nơi lưu trữ (repository)chứa 40 triệu trang Web mặc dù chỉ biểu diễn được 4% của tổng các trang Web có khả năng đánh chỉ số, nhưng đã lớn hơn

hệ thống tìm tin tiêu chuẩn (TREC-7 colection)là 100GB

- Bởi vì nội dung của các trang web thay đổi nhanh chóng, nên việc xây dựng lại file chỉ số là rất cần thiểt cho việc làm mới các trang Web Một phần công việc của

Trang 24

Crawler là cập nhật các trang Web đã down về, song song với công việc này việc xây dựng lại các file chỉ số

- Cuối cùng, dạng bộ nhớ dành cho file inverted index cần phải được thiết kế cẩn thận Một file chỉ số được nén sẽ cải tiến thao tác truy vấn hơn là cả file chỉ số được lưu trữ trong bộ nhớ Tuy nhiên vấn đề gặp phải là tốn thời gian dành cho việc giải nén

a.3 Tính toán đại lượng PageRank

Các hệ tìm kiếm có hai đặc tính quan trọng giúp đưa ra kết quả có độ chính xác cao Đầu tiên, nó sử dụng cấu trúc liên kết của Web để tính toán độ quan trọng cho từng trang Web, (PageRank).Thứ hai, hệ sử dụng liên kết để xếp hạng kết quả (Ranking) Chính sơ đồ các liên kết giữa các trang Web đã cho phép tính toán nhanh chóng đại lượng PageRank

Đại lượng PageRank được định nghĩa như sau:

Giả sử trang A có các trang T 1, T 2 ,…,T n trỏ tới Tham số d là hệ số hãm có giá trị trong khoảng 0 và 1 Chúng ta thường đặt d=0.85 C(A) là số liên kết ra từ trang A Khi đó PageRank của A được tính như sau:

PR(A)=(1-d)+d (PR(T1)/C(T1)+…+PR(Tn)/C(Tn))

Vì PageRank của một trang là đại lượng đại diện cho sự phân bổ xác suẩt trên các trang Web trong một tập các trang Web nhất định, do đó tổng các giá trị pagerank của tất cả các trang Web trong tập các dữ liệu có giá trị bằng 1

Trang 25

Quá trình tính toán được lặp đi lặp lại cho đến khi hội tụ

Với d=0.85, số vòng lặp =20 với khoảng vài triệu trang Và để tính PageRank cho 26 triệu trang web với một trạm làm việc vừa phải thì thời gian tiêu tốn tới vài giờ

2.3 NHƯỢC ĐIỂM CỦA CÁC MÁY TÌM KIẾM

1 Là các hệ tìm kiếm tự động, người sử dụng chưa có vai trò gì trong quá trình tìm kiếm, không có cơ chế phản hồi từ người sử dụng để cập nhật các tham số tìm kiếm nhằm tăng hiệu quả cho lần tìm kiếm sau

2 Coi độ quan trọng của các từ khóa là như nhau, do đó chưa cho phép tính độ quan trọng khác nhau của các từ khóa Như trong các hệ tìm kiếm lớn như Google, Yahoo, nếu đưa vào từ “System Information” thì hệ số tìm kiếm tất cả các trang Web

có liên quan đến 2 từ “System” và “Information” Nếu người dùng muốn tìm kiếm từ

“Computer Story” mà trong đó từ Computer có nghĩa nhiều hơn từ Story (chẳng hạn,

từ Computer có trọng số 0.8, story có trọng số 0.2), thì vấn đề đặt ra là cần phải xây dựng một hệ tìm kiếm như vậy

3 Chưa quan tâm đến bản chất của xử lý văn bản, vấn đề từ đồng nghĩa, đa nghĩa

Có rất nhiều tài liệu liên quan đến nội dung cần tìm nhưng không chứa các từ khóa đưa vào, mà chỉ chứa các từ đồng nghĩa với chúng và những tài liệu đó sẽ bị bỏ qua trong quá trình tìm kiếm

Vì các máy hầu hết tìm kiếm theo từ khóa, dựa vào việc đánh chỉ mục cho các trang Web(index-base search engine), có thể có hàng trăm tài liệu cùng chứa từ khóa đưa vào, dẫn đến một số lượng lớn tài liệu nhận được từ máy tìm kiếm, mà rất nhiều trong chúng ít hoặc không liên quan đến nội dung cần tìm

2.4 BÀI TOÁN TÌM KIẾM MỚI

Hàng ngày có hàng tỷ người truy cập vào Internet và cũng có từng ấy người thực hiện các thao tác tìm kiếm với các máy tìm kiếm khác nhau Nếu thống kê các thông tin của mỗi lần tìm kiếm này thì chắc chắn chúng ta sẽ được một nguồn thông tin khổng lồ, và nểu biết cách sử dụng chúng thì sẽ làm được rất nhiều công việc hữu ích Các bài toán tìm kiếm trong các máy tìm kiếm thông thường chỉ đơn giản đáp ứng nhu cầu tìm kiếm thông tin của khách hàng mà chưa biết tận dụng những thông tin từ phía khách hàng qua mỗi lần tìm kiếm Dưới đây là bài toán đề xuất thêm vào tính năng của các máy tìm kiếm và hướng giải quyết trong tương lai

Trang 26

Bài toán:

Căn cứ vào các tài liệu mà khách hàng xem hoặc down về, sau khi phân tích ta biết được khách hàng đó hay tập trung vào các trang có nội dung gì trên tập các trang Web của chúng ta, để từ đó bổ xung thêm nhiều tài liệu mà khách hàng quan tâm và ngược lại Còn về phía khác hàng sau khi phân tích chúng ta cũng biết được khách hàng hay tập trung về vấn đề gì , từ đó có thêm những hỗ trợ cho khách hàng

Hướng giải quyết:

Xây dựng một CSDL về các tài liệu, trong đó có một trường ClassificationID

cho biết tài liệu này thuộc lĩnh vực nào dựa trên kết quả đã phân tích trước đó.(Bằng phân lớp)

Xây dựng một CSDL về phía khách hàng: Trước khi khách hàng truy cập vào

CSDL, yêu cầu đăng ký một account thông tin: tên, tuổi, địa chỉ,…chúng ta cũng đưa thêm hai trường quan trọng là nghề nghiệp, trình độ (cho độ chính xác của thông tin là c%) Yêu cầu đăng ký account là tuỳ chọn với khách hàng Sau đó trong quá trình mỗi lần khách hàng truy cập vào CSDL chúng ta sẽ ghi lại các tài liệu mà khách hàng truy nhập vào bảng thông tin khách hàng Sau đó dựa vào các thông tin về tài liệu mà

khách hàng truy nhập và thông tin về khách hàng, phân tích theo thuật toán cây quyết định để sinh luật cho biết khách hàng khách hàng có nghề nghiệp và trình độ như thế

nào thì quan tâm đến lĩnh vực nào với độ tin cậy là ngưỡng c

2.5 KẾT LUẬN

Trang 27

Chương 3 BÀI TOÁN PHÂN LỚP

3.1 PHÁT BIỂU BÀI TOÁN

Trong tự nhiên, con người thường có ý tưởng chia sự vật thành các phần, các lớp khác nhau Tương tự như vậy, giải thuật phân lớp đơn giản chỉ là một phép

ánh xạ cơ sở dữ liệu đã có sang một miền giá trị cụ thể nào đó, dựa vào một thuộc tính hoặc một tập hợp các thuộc tính của dữ liệu

Phõn lớp văn bản được cỏc nhà nghiờn cứu định nghĩa thống nhất như là việc gỏn cỏc chủ đề đó được xỏc định cho trước vào cỏc văn bản Text đựa trờn nội dung của nú Phõn lớp văn bản là cụng việc được sử dụng để hỗ trợ trong quỏ trỡnh tỡm kiếm thụng tin (Inrmation Retrieval), chiết lọc thụng tin (Information Extraction), lọc văn bản hoặc tự động dẫn đường cho cỏc văn bản tới những chủ đề xỏc định trước.Để phõn loại văn bản, người ta sử dụng phương phỏp học mỏy cú giỏm sỏt (supervised learning) Tập dữ liệu được chia ra làm hai tập là tập huấn luyện và tập kiểm traá trước hết phải xõy đựng mụ hỡnh thụng qua cỏc mẫu học bằng cỏc tập huấn luyện, sau đú kiểm tra sự chớnh xỏc bằng tập đữ liệu kiểm tra

Hỡnh sau là mụt khung cho việc phõn lớp văn bản, trong đú bao gồm ba cụng đoạn chớnh: cụng đoạn đầu là biểu diễn văn bản, tức là chuyển cỏc dữ liệu văn bản thành một dạng cú cấu trỳc nào đú, tập hợp cỏc mẫu cho trước thành một tập huấn luyện Cụng đoạn thứ hai là việc sử dụng cỏc kỹ thuật học mỏy để học trờn cỏc mẫu huấn luyện vừa biểu diễn Như vậy là việc biểu diễn ở cụng đoạn một

sẽ là đầu vào cho cụng đoạn thứ hai Cụng đoạn thứ ba là việc bổ sung cỏc kiến thức thờm vào do người dựng cung cấp để làm tăng độ chớnh xỏc trong biểu diễn văn bản hay trong quỏ trỡnh học mỏy

Trong cụng đoạn hai, cú nhiều phương phỏp học mỏy được ỏp dụng, mụ hỡnh mạng Bayes, cõy quyết định, phương phỏp k ngườii lỏng giềng gần nhất, mạng Neuron, SVM,…

Dữ

liệu vào

Giải thuật phân lớp hoạt

động

Lớp 1

Lớp 2

Lớp n

Ngày đăng: 16/08/2014, 10:19

HÌNH ẢNH LIÊN QUAN

Hình 1 - Các bước trong Data Mining &amp; KDD - KHAI PHÁ DỮ LIỆU WEB
Hình 1 Các bước trong Data Mining &amp; KDD (Trang 2)
Hình 2.3_Mô hình kiến trúc của máy tìm kiếm Google - KHAI PHÁ DỮ LIỆU WEB
Hình 2.3 _Mô hình kiến trúc của máy tìm kiếm Google (Trang 17)
Hình sau là môt khung cho việc phân lớp văn bản, trong đó bao gồm ba  công  đoạn chính: công đoạn  đầu là biểu diễn văn bản, tức là chuyển các dữ liệu  văn bản thành một dạng có cấu trúc nào đó, tập hợp các mẫu cho trước thành một  tập huấn luyện - KHAI PHÁ DỮ LIỆU WEB
Hình sau là môt khung cho việc phân lớp văn bản, trong đó bao gồm ba công đoạn chính: công đoạn đầu là biểu diễn văn bản, tức là chuyển các dữ liệu văn bản thành một dạng có cấu trúc nào đó, tập hợp các mẫu cho trước thành một tập huấn luyện (Trang 27)
1.  Bảng 1: bảng các từ khóa (KeyWords), - KHAI PHÁ DỮ LIỆU WEB
1. Bảng 1: bảng các từ khóa (KeyWords), (Trang 49)
4. Bảng 4. Xác suất của các lớp - KHAI PHÁ DỮ LIỆU WEB
4. Bảng 4. Xác suất của các lớp (Trang 50)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w