Cơ sở lý thuyết

Một phần của tài liệu XỬ lý dữ LIỆU PHÂN tán với MAPREDUCE và xây DỰNG ỨNG DỤNG MINH họa (Trang 64 - 87)

5 Mã nguồn mở Lucene, Solr và Nutch

6.2Cơ sở lý thuyết

Text mining:

Hầu hết các nghiên cứu về data mining đề tập trung vào dữ liệu có cấu trúc (structured data) nhƣ dữ liệu quan hệ (relational), dữ liệu giao tác (transactional), và dữ liệu trong kho dữ liệu (data warehouse data). Tuy nhiên, trong thực tế, một phần các thông tin sẵn có đƣợc lƣu trữ trong các text database (hay còn gọi là các document database), chứa một tập hợp lớn các document từ nhiều nguồn khác nhau, nhƣ các bài báo, các bài nghiên cứu, sách, thƣ viện điện tử, các email message, và các trang web. Các Text Database lớn lên một các nhanh chóng bởi vò sự gia tăng về số lƣợng của thông tin sẵn có dƣới các hình thức điện tử, nhƣ xuất bản diện tử, các dạng khác nhau của các văn bản điện tử, email, và World Wide Web (đƣợc xem làm nguồn Text database lớn nhất, tƣơng kết, dynamic text database). Ngày nay hầu hết các thông tin của các chính phủ, công ty, doanh nghiệp, và các viện nghiên cứu đƣợc lƣu trữ trong các thiết bị diện tử, dƣới hình thức của text database.

Dữ liệu đƣợc lƣu trữ trong hầu hết các text database là các dữ liệu bán cấu trúc.. Ví dụ, một tài liệu có thể chứa một vài trƣờng có cấu trúc nhƣ tiêu đề, tác giả, ngày xuất bản, chủng loại vv…nhƣng nó còn chứa các thành phần text không có cấu trúc khác nhƣ đoạn tóm tắt và nội dung của văn bản. Đã có các nghiên cứu trên sự mô hình và thực thi dữ liệu bán cấu trúc trong các nghiên cứu về cơ sở dữ liệu trong thời gian gần đây. Hơn nữa, các kỹ thuật trích thông tin, nhƣ các phƣơng pháp tạo index cho văn bản, đã đƣợc phát triển để quản lý các văn bản bán cấu trúc.

Các kỹ thuật trích thông tin truyền thống đã không còn đủ sức đối phó với một lƣợng lớn dữ liệu văn bản đang gia tăng. Một cách điển hình, chỉ một phần nhỏ của các tài liệu sẵn có liên quan tới một ngƣời dùng nào đó. Không biết nội dung trong các văn bản sẽ rất khó để xây dựng các truy vân hiệu quả cho việc phân tích và rút các thông tin hữu ích từ dữ liệu. Ngƣời dùng cần các công cụ để so sánh các văn bản khác nhau, xếp sắp sự quan trọng và sự liên quan của các văn bản, hay tìm các mẫu và các xu hƣớng giữa các văn bản. Do đó, text mining trở nên phổ biến một cách rộng rãi và là một chủ đề cốt yếu trong data mining.

Phân tích dữ liệu text và lấy thông tin (Information Retrieval) 6.2.1

Information retrieval (IR) là một trƣờng (field) đƣợc phát triển song song với các hệ thống cơ sở dữ liệu (CSDL) trong nhiều năm. Không giống nhƣ field trong các hệ thống CSDL đƣợc chú trọng vào sự truy vấn và xử lý giao tác dữ liệu có cấu trúc, IR đƣợc chú trọng tới sự tổ chức và retrieval of information từ một lƣợng lớn văn bản text. Bởi vì IR và các hệ thống CSDL mỗi bên lƣu giữ các loại dữ liệu khác nhau, một số vấn đề về hệ thống CSDL thƣờng không có trong các hệ thống IR, nhƣ kiểm soát trùng hợp, phục hồi, quản lý giao tác, và cập nhật. Ngoài ra, một số vấn đề IR thông

64 thƣờng không xuất hiện trong các hệ thống CSDL truyền thống, nhƣ các văn bản không cấu trúc, sự tìm kiếm gần đúng dựa trên các keyword và các khái niệm liên quan.

Bởi vì sự phong phú của thông tin trong văn bản nên IR có nhiều ứng dụng. Có nhiều hệ thống IR nhƣ hệ thống on-line library cataloge, hệ thống online document management, và các web search engine đã phát triển.

Một vấn đề IR điển hình là định vị các văn bản liên quan trong một tập hợp văn bản dựa trên truy vấn của ngƣời dùng, thông thƣờng là các keyword mô tả các nhu cầu thông tin. Trong bài toán tìm kiếm nhƣ thế, ngƣời dùng có thể chủ động đƣa ra các thông tin liên quan từ tập hợp đó; điều này rất thích hợp khi ngƣời dùng cần các thông tin liên quan đến một mục đich nào đó, ví dụ nhƣ tìm kiếm thông tin để mua một chiếc xe. Khi ngƣời dùng có nhu cầu thông tin lớn hơn ( ví dụ nhƣ các sự quan tâm của mộ nhà nghiên cứu), một hệ thống retrieval có thể đƣợc dùng để cung cấp các item thông tin cho ngƣời dùng nếu item đó đƣợc xem là liên quan đến nhu cầu thông tin của ngƣời dùng. Một quá trình xử lý truy cập thông tin nhƣ vậy đƣợc gọi là quá trình lọc thông tin (information filtering), và hệ thống tƣơng ứng thƣờng đƣợc gọi là các hệ thống lọc (filtering system hay recommender system). Từ quan điểm kỹ thuật, tuy nhiên, tìm kiếm và lọc có chung các kỹ thuật phổ biến. Dƣới đây chúng ta sẽ thảo luận các kỹ thuật chính trong IR trong kỹ thuật tìm kiếm.

6.2.1.1 Thước đo cơ bản cho Text Retrieval: Precision và Recall

“Giả sử một hệ thống text retrieval chỉ tìm một số văn bản cho bạn dựa trên input trên biểu mẫu truy vấn, Làm thế nào chúng ta có thể đánh giá độ chính xác của hệ thống?” Cho một tập các văn bản liên quan đến một truy vấn đƣợc kí hiệu là {Relevant}, và một tập các văn bản tìm đƣợc kí hiệu là {Retrieved}. Tập các tài liệu mà cả hai là relevant và retrieved đƣợc kí hiệu {Relevant}∩{Retrieved}, minh họa trên hình 25.

Hình 25. Revelant and retrieved

65 Precision: Phần trăm của các văn bản đƣợc tìm thấy thật sự liên quan đến truy vấn:

{Relevant} {Retrieved} {Retrieved}

precision (1)

Recall: Là phần trăm của các văn bản liên quan đến truy vấn đƣợc tìm thấy:

{Relevant} {Retrieved} {Relevant}

recall (2)

Một hệ thống IR thƣờng cần phải cân bằng recall và precision. Hệ số cần bằng phổ biến là F_score: * _ ( ) / 2 recall precision F score recall precision (3)

6.2.1.2 Text Retrieval Methods

Các phƣơng pháp truy tìm thông tin đƣợc chia thành 2 dạng: Document selection

document ranking.

Trong các phƣơng pháp document selection, câu truy vấn đƣợc xem nhƣ là các ràng buộc củ thể cho việc chọn các tài liệu liên quan. Một phƣơng pháp điển hình của loại này là mô hình Boolean retrieval, trong đó một document đƣợc biểu diễn bằng một tập các từ khóa và ngƣời dùng cung cấp một biểu thức Boolean các keyword, nhƣ “car and repair shops”, “tea and coffee” hay “database systems but not Oracle”. Retrieval system sẽ xử lý câu truy vấn và trả vể các document thỏa mãn biểu thức Boolean. Bởi vì rất khó trong việc chọn một nhu cầu thông tin chính xác cho ngƣời dùng mà phù hợp với biểu thức Boolean, phƣơng pháp Boolean retrieval thƣờng đƣợc sử dụng trong trƣờng hợp ngƣời dùng biết khá rõ về tập các document để có thể xây dựng câu truy vấn tốt.

Các phƣơng pháp document ranking sủ dụng câu truy vấn để xếp tất cả các tài liệu trong một trật tự liên quan. Đối với ngƣời dùng bình thƣờng và các câu truy vấn thăm dò, các phƣơng pháp này thích hợp hơn các phƣơng pháp document selection. Hầu hết các hệ thống IR hiện đại đều đƣa ra danh sách xếp hạng các document trong kết quả của câu truy vấn dựa trên keywords. Có nhiều các phƣơng pháp xếp hạng khác nhau dựa trên các nền tảng toán học nhƣ đại số, logic, xác suất và thống kê. Các phƣơng pháp này đều dựa trên sự so khớp các keyword trong câu truy vấn với các từ trong document và đánh giá điểm cho mỗi tài liệu dựa vào múc độ khớp với câu truy vấn. Kết quả đƣa ra gần đúng mức độ liên quan của một tài liệu với các điểm số đƣợc tính toán dựa trên các thông tin nhƣ: tần số xuất hiện của các keyword trong tài liệu và trong toàn bộ tập hợp. Chú ý rằng vốn đã rất khó để đƣa ra một phƣơng pháp đánh giá chính xác mức độ liên quan giữa một tập các keyword. Ví dụ, rất khó để xác định

66 khoảng cách giữa data mining và data analysis. Sự đánh giá các mức độ liên quan chủ yếu là dựa trên kinh nghiệm.

Thảo luận toàn bộ các retrieval method là một công việc rất tốn nhiều thời gian. Do đó chúng ta chỉ thảo luận một cách tiếp cận phổ biến – Mô hình không gian vector (vector space model - VSM). Ý tƣởng cơ bản của VSM nhƣ sau: chúng ta biểu diễn một document và một query nhƣ là các vector trong một không gian đa chiều tƣơng ứng với toàn bộ keyword và sử dụng phép đo sự tƣơng tự thích hợp để tính sự tƣơng tự giữa các query vector và document vector. Các giá trị của sự tƣơng tự có thể đƣợc sử dụng cho việc xếp hạng các document.

Để token hóa một văn bản, bƣớc đầu tiên trong hầu hết các retrieval system là xác định các keyword để biểu diễn các tài liệu, bƣớc xử lý tiếp theo thƣờng đƣợc gọi là sự token hoá. Để tránh việc đánh chỉ mục cho các từ không cần thiết, text retrieval system thƣờng kết hợp một stop list với một tập các document. Một stop list là một tập các từ đƣợc cho là không liên quan. Ví dụ, a, the, of, for…. Các stop list có thể khác nhau đối với mỗi tập document. Tuy nhiên nó có thể đƣợc xem nhƣ là một stop word trong một tập các bài nghiên cứu trong một hội nghị các hệ thống CSDL.

Một nhóm các từ khác nhau có cùng một các viết giống nhau. Một text retrieval system cần phải xác định các nhóm từ mà các từ trong một nhóm có cú pháp khác nhau ít. Ví dụ nhƣ các từ drug, drugged và drugs cùng có chung một thân từ là drug, chúng có thể đƣợc xem là các thể hiện khác nhau của cùng một từ.

“Làm thế nào để chúng ta có thể xây dựng mô hình một document để có thể dễ dàng tìm thông tin trên nó.” Bắt đầu với một tập d các document và một tập t các từ (term), chúng ta có thể xây dựng mô hình mỗi document nhƣ là một vector v trong không gian t chiều Rt, điều này giải thích vì sao phƣơng pháp này đƣợc gọi là phƣơng pháp VSM. Cho tần số từ (term frequency- TF) là một số lần xuất hiện của từ t trong document d, kí hiệu là freq(d,t). Ma trận term-frequency TF(d,t) đánh giá sự liên quan của một từ t đối với document d: Trọng số bằng 0 nếu document d không chứa từ t và ngƣợc lại. Có nhiều cách để định nghĩa term-weighting cho các phần tử khác không trong vector. Ví dụ, một cách đơn gián chúng ta có thể cho TF(d,t)=1 nếu term t xuất hiện trong document d, hay sử dụng term frequency fred(d,t), hay sử dụng term frequency tƣơng đối (relative term frequency), có nghĩa là term frequency so với tổng số lần xuất hiện của toàn bộ các term trong một document. Có nhiều cách để chuẩn hoá term frequency. Ví dụ hệ thống Cornell SMAR sử dụng công thức sau để chuẩn hoá term frequency:

67 Bên cạnh số đo term frequency còn có một số đo quan trọng khác đó là inverse document frequency (IDF), nó biểu diễn sự quan trọng của một term t. Nếu một term t xuất hiện trong nhiều document, sự quan trọng của nó sẽ bị giảm xuống bởi vì nó giảm đi sự phân biệt giữa các document. Ví dụ, term database system có thể xem nhƣ ít quan trọng nếu nó xuất hiện trong các bài báo nghiên cứu trong hội nghị database system. Theo hệ thống Cornell SMART, IDF(t) đƣợc định nghĩa theo công thức sau:

1 | | ( ) log | t| d IDF t d (4) (adsbygoogle = window.adsbygoogle || []).push({});

Trong đó d là tập hợp các document, dt là tập các document chứa term t. Nếu |dt|<<|d|, thì term t sẽ có giá trị IDF rất lớn và ngƣợc lại.

Trong một mô hình VSM đầy đủ, TF và IDF đƣợc kết hợp với nhau để hình thành số đo TF-IDF

TF-IDF = TF(d, t) * IDF (t) (5)

Chúng ta hãy xét một ví dụ về cách tính toán sự tƣơng tự của một tập các document dựa trên TF và IDF.

Bảng dƣới đây trình bày một ma trận TF trong đó mỗi hàng biểu diễn một document vector, mỗi cột biểu diễn một term, và mỗi phần tử biểu thị freq(di, tj), số lần xuất hiện của term tj trong document di. Dựa vào bảng này chúng ta có thể tính giá trị TF-IDF của một term trong một document. Ví dụ nhƣ t6 trong d4

TF(d,t)=

0 nếu freq(d,t)=0

68 Ta có TF(d4, t6) = 1+ log(1+log(15))=1,3377 6 1 5 ( ) log 0,301 3 IDF t Do đó TF-IDF(d4, t6)=1,3377*0,301=0,403

Làm thế nào chúng ta có thể tìm ra hai document nếu chúng tƣơng tự nhau? Bởi vì các document tƣơng tự nhau đƣợc xem là có các term frequency liên quan giống nhau, chúng ta có thể đánh giá sự tƣơng tự giũa một tập các document hay giữa một document và một query (thƣờng đƣợc định nghĩa bằng một tập các keyword), dựa trên sự xuất hiện của term liên quan giống nhau trong frequency table. Nhiều cách đã đƣợc đề nghị để đánh giá document similarity dựa trên relative term occurrences hay document vectors. Một representative metric là số đo cô sin (cosine measure) đƣợc định nghĩa nhƣ sau. Cho v1, v2 là hai document vector. Tƣơng tự cô sin (Cosine similarity) đƣợc định nghĩa là: 1 2 1 2 1 2 . ( , ) | || | v v sim v v v v (6)

Trong đó tích trong v1.v2 là tich điểm vector chuẩn (standard vector dot product), đƣợc định nghĩa bằng 1 2 1 t i i i v v , và |v1|= v v1 1 .

Các kỹ thuật đánh chỉ mục Text (Text Indexing Techiques)

Có nhiều kỹ thuật tạo chỉ mục tìm kiếm text phổ biến, bao gồm inverted indices (đánh chỉ mục ngƣợc) và signature files (các file chữ ký).

Một inverted index là một index structure chứa 2 hash indexed hay B+-tree indexed tables: document_table và term_table, trong đó

Document_table chứa một tập các bản ghi document, mỗi bản ghi chứa 2 trƣờng: doc_id và posting_list, trong đó posting_list là một danh sách các term (hay con trỏ tới các term) xuất hiện trong document đó, đƣợc sắp xếp theo một vài số đo liên quan.

Term_table chứa một tập các term recorrd, mỗi bản ghi chứa hai trƣờng: term_id và posting_list, trong đó posting_list xác định một danh sách các định danh document mà các term xuất hiện trong đó.

Với cấu trúc nhƣ vậy, rất dễ dàng để trả lới các query nhƣ “Tìm tất cả các document liên quan tới một tập các term đã cho” hay “Tìm tất cả các term liên quan tới một tập các document”. Ví dụ, để tìm tất cả các document liên quan tới một tập các

69 term, chúng ta có thể tìm một danh sách các định danh document trong term_table cho mỗi term và sau đó giao chúng với nhau để tìm tập các document liên quan. Inverted indices đƣợc sử dụng rộng rãi trong kỹ thuật tím kiếm. Các posting_list có thể rất dài và đòi hỏi bộ nhớ lớn để lƣu chúng. Chúng dễ dàng để thực thi nhƣng chúng không giả quyết đƣợc vấn đề từ đồng nghĩa và tính nhiều nghĩa của từ.

Một signature file là một file lƣu một signature record cho mỗi document trong CSDL. Mỗi signature có chiều dài b bít biểu diễn các term. Một sơ đồ mã hóa đơn giản đƣợc minh họa nhƣ sau: Mỗi bít của một document signature đƣợc khởi tạo bằng 0, Một bít đƣợc thiết lập bằng 1 nếu term tƣơng ứng với bít đó có mặt trong document. Một signature S1 so khớp với một signature S2 nếu nếu mỗi bít đƣợc thiết lập cho S1 cũng đƣợc thiết lập cho S2. Bới vì số term lớn hơn số bít cho nên có thể có nhiều term cùng ánh xạ tới cùng một bít. Các ánh xạ multiple-to-one nhƣ vậy làm cho chi phí tìm kiếm gia tăng bởi vì một document so khớp với một signature của một query không cần thiết phải chứa tập keyword của query đó. Document phải đƣợc tải vào bộ nhớ, phân tích cú pháp để lấy than của nó, và kiểm tra. Các cải tiến có thể thực hiện bằng cách trƣớc tiên thực hiện phân tích tần số, phân tích thân document bằng cách lọc ra cac stop word, và sau đó sử dụng kỹ thuật băm và kỹ thuật mã hóa đƣợc chồng lên (superimposed coding technique) để mã hóa danh sách của các term trong sự biểu diễn bit. Tuy nhiên, vấn đề multiple-to-one mappingsnvaanx tồn tại và đây là một nhƣợc điểm chính của cách tiếp cận này.

Query Processing Techniques

Khi một inverted index đƣợc tạo cho một tập document, một retrieval system có thể trả lời một keyword query một cách nhanh chóng bằng cách tìm các document chứa query keyword đó. Một cách cụ thể, chúng ta sẽ giữ điểm tích lũy cho mỗi document và cập nhật những điểm tích lũy này khi chúng duyệt qua mỗi query term.

Một phần của tài liệu XỬ lý dữ LIỆU PHÂN tán với MAPREDUCE và xây DỰNG ỨNG DỤNG MINH họa (Trang 64 - 87)