Tìm kiếm văn bản tiếng việt
Trang 14.2 Vấn đề đa nghĩa và nhập nhằng trong ngôn ngữ 12
II MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU VĂN BẢN 13
1 Biểu diễn văn bản 13
Sinh từ ( Term Generation) 14
2.3 Chỉ dẫn ngữ nghĩa tiềm ẩn (Latent Sematic Indexing LSI) 25
2.4.Tìm kiếm tài liệu dùng SVD 32
Trang 23.2.1 Không gian dung sai: 41
3.2.2 Giải thuật tìm kiếm văn bản sử dụng TRSM 44
3.3 Hàm xếp hạng chính và xếp hạng phụ trong việc đánh giá mức độ chính xác của tài liệu 47
PHẦN II PHƯƠNG ÁN GIẢI QUYẾT VÀ CÀI ĐẶT THỬ NGHIỆM49I PHƯƠNG ÁN GIẢI QUYẾT 49II CÀI ĐẶT THỬ NGHIỆM _571 TIỀN XỬ LÝ VĂN BẢN TIẾNG VIỆT 57
1.1 Tổ chức từ điển 57
1.2 Tổ chức cơ sở dữ liệu văn bản 58
1.3 Xác định các từ khoá trong văn bản 58
2 Xử lý dữ liệu để phục vụ cho mô hình tìm kiếm văn bản bằng phương pháp tập thô dung sai 60
Tính không gian dung sai và các xấp xỉ trên và xấp xỉ dưới 60
3 Tìm kiếm văn bản sử dụng mô hình tập thô dung sai 68
HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI 71
TÀI LIỆU THAM KHẢO 73
Trang 4Hình 3: Thu nhỏ kích thước qua SVD 28
Hình 4 Kiến trúc của hệ thống 55
Hình 5: Tổ chức lưu trữ từ điển 57
Hình 6: Sơ đồ lưu trữ cơ sở dữ liệu văn bản 58
Hình 7:Giao diện ứng dụng tách từ có nghĩa cho văn bản 59
Hình 8: Giao diện thực hiện tính không gian dung sai cho các term 65
Hình 9: Giao diện thực hiện tính xấp xỉ trên và dưới cho các văn bản 68
Hình 10: Giao diện phục vụ tìm kiếm văn bản 69
Trang 5LỜI MỞ ĐẦU
Chúng ta biết rằng nguồn tài nguyên được lưu trữ dưới dạng dữ liệu văn bảnlà rất rộng lớn và giàu thông tin nhưng việc khai thác nguồn dữ liệu này vẫn chưađạt hiệu quả cao Hiện nay, trên thế giới đã có khá nhiều hệ thống thực hiện côngviệc này theo những phương pháp khác nhau tuy chưa đạt được hiệu quả tối ưunhưng cũng phần nào đáp ứng được các yêu cầu thông tin của người sử dụng Mỗiphương pháp khác nhau đều thể hiện được những điểm mạnh riêng của nó và việclựa chọn phương pháp nào phụ thuộc vào những mục đích và tiêu chí riêng đặt ra
Hiện nay, sự gia tăng của các phương tiện truyền thông trong việc lưu trữ vàsự bùng nổ của các cơ sở dữ liệu lớn làm cho việc tìm kiếm văn bản càng trở nênquan trọng hơn bao giờ hết Chính vì vậy, việc lựa chọn phương pháp tìm kiếm vănbản giúp cho người sử dụng có thể tìm kiếm được những thông tin cần thiết mộtcách chính xác hiệu quả từ nguồn tài liệu văn bản rộng lớn phục vụ cho các mụcđích trong công việc cũng như trong đời sống là rất cần thiết Nhận thức được tầm
quan trọng của việc khai thác dữ liệu văn bản, em đã lựa chọn đề tài: “Tìm kiếmvăn bản tiếng Việt”
Với đề tài này em đi sâu vào nghiên cứu việc tìm kiếm văn bản tiếng Việt sửdụng lý thuyết tập thô tập thô dung sai (Tolerance Rough Set Model) Đây cũng làmột trong những phương pháp rất hiệu quả cho mục đích khai phá dữ liệu cũng nhưtìm kiếm văn bản tiếng Việt vì nó đã phần nào giải quyết được vấn đề đồng nghĩatrong tiếng Việt mà từ trước cho tới nay vẫn chưa có một biện pháp nào giải quyếttốt cho vấn đề đồng nghĩa Đây là một đề tài tương đối rộng và phức tạp nhưng thờigian nghiên cứu không nhiều, sự hiểu biết trong lĩnh vực này còn bị hạn chế nên đồán tốt nghiệp này sẽ không tránh khỏi những thiếu sót Em rất mong nhận được sựđóng góp, chỉ bảo thêm của thầy cô và các bạn đọc để đồ án này hoàn thiện và hữuích hơn trong thời gian tới
Em xin chân thành cảm ơn TS Nguyễn Kim Anh Cô đã mở ra cho emhướng nghiên cứu về tìm kiếm văn bản tiếng Việt đồng thời cô đã tận tình hướngdẫn em trong suốt quá trình làm đồ án.
Trang 6anh Lưu Anh Tuấn và anh Lê Minh Hiền những người đã tận tình giúp emtrong quá trình làm đồ án Tôi cũng xin cảm ơn các bạn học cùng khoa đã đóng gópý kiến cho tôi để hoàn thành đồ án một cách tốt hơn.
Trang 7PHẦN I CƠ SỞ LÝ THUYẾTI.TIẾNG VIỆT VÀ NGỮ PHÁP TIẾNG VIỆT
1.Tính chính xác của văn bản tiếng Việt
Khi nghiên cứu về văn bản tiếng Việt chúng ta gặp rất nhiều khó khăn trongviệc tin học hoá phục vụ cho việc khai phá nguồn dữ liệu văn bản tiếng Việt Mộttrong những khó khăn đó chính là ngữ pháp tiếng Việt Để phân tích và kiểm tratính chính xác của một văn bản tiếng Việt, chúng ta phải tiến hành phân tích từvựng, phân tích cú pháp, phân tích ngữ nghĩa, và phân tích chứng thực.
Phân tích từ vựng: Quá trình này nhằm phân tích hình thái của các từ tạo
nên câu từ đó kiểm tra được tính đúng đắn của âm tiết và từ.
Phân tích cú pháp: Quá trình này đưa ra mô tả về quan hệ và vai trò ngữ
pháp của các từ trong câu đồng thời đưa ra hình thái của câu Đầu vào của giaiđoạn này là câu đã được phân tách từ, trong đó mỗi từ có đặc điểm hình thái nhấtđịnh Quá trình kiểm tra cú pháp tiến hành phân tích và tổ hợp các từ ở đầu vào,dựa trên các luật cú pháp để loại bỏ các trường hợp bất quy tắc và từng bước dựnglên cấu trúc cú pháp của câu Đầu ra của giai đoạn này là hình thái câu Các luật cúpháp thường được xây dựng theo cơ chế mở, nghĩa là có thể sửa đổi, bổ sung hayloại bỏ các luật thừa Kết quả của bước phân tích cú pháp phụ thuộc rất nhiều vàotính chính xác và đầy đủ của các luật cú pháp.
Phân tích ngữ nghĩa: Mục đích của quá trình này là kiểm tra ý nghĩa của
câu có mâu thuẫn với cả đoạn hay không? Dựa trên mối quan hệ logic về nghĩagiữa các cụm từ trong câu và mối quan hệ giữa các câu trong đoạn, hệ thống sẽ xácđịnh được một phần ý nghĩa của câu trong ngữ cảnh của cả đoạn Đầu vào của giaiđoạn phân tích ngữ nghĩa là tập các khả năng phân tích câu và thông tin về ngữnghĩa của tất cả các từ Các thực từ thường có nhiều nghĩa và nghĩa của nó chỉđược xác định duy nhất trong mối quan hệ giải thích với các từ khác trong câu.
Trang 8Một cách tiếp cận được nhiều người quan tâm là sử dụng logic vị từ để biểu diễnthông tin ngữ nghĩa Thông tin ngữ nghĩa được lưu trư giống như thông tin cúpháp Các phương pháp lập luận logic có thể dùng để phỏng đoán và suy luậnnhiều thông tin hơn dựa trên thông tin đầu vào Các thông tin này không cần phảiphân loại (nhận giá trị đúng hay sai) Mô hình cấu trúc ngữ pháp của câu là cấutrúc có đầy đủ nghĩa ngữ pháp và thông báo Có hai cách miêu tả:
Miêu tả các quan hệ cú pháp giữa từ và tổ hợp từ.
Miêu tả mô hình hay ý của câu Việc miêu tả nhằm cho phép suy đoán đượcý của các bộ phận lớn hơn từ từ đó xác định ý của câu Câu là một thể trọn vẹn chứkhông phải là tổng các bộ phận cấu thành nó Ý của câu là tích ý nghĩa các yếu tốtham gia cùng với ý nghĩa quan hệ tổng thể cấu trúc câu Từ là một tổ hợp của câu,trong từ thể hiện một phần ý của câu Nhưng từ không nhất thiết phải hiện diệntrong câu với nghĩa mà nó có khi đóng vai trò một đơn vị độc lập ở cấp độ khác.Dựa trên mô hình cấu trúc cú pháp câu, ta có thể nhận diện cấu trúc chìm của câu(như hành động-chủ thể hành động, hành động - đối tượng hành động…), giúp giảithích được ý nghĩa của câu và vạch ra tính đa nghĩa của chúng.
Phân tích thực chứng: Quá trình này xác định ý nghĩa câu dựa trên mối
quan hệ của câu với hiện thực Ý nghĩa thực tế của câu phụ thuộc phụ thuộc rấtnhiều vào ý, tứ và ngữ cảnh diễn ra lời nói Do vậy, quá trình phân tích thực chứngrất khó thực hiện bằng máy tính thông thường, việc phân tích câu chỉ dừng ở mứcphân tích phân tích ngữ nghĩa, còn việc phân tích thực chứng do người dùng quyếtđịnh.
2 Từ tiếng Việt
Trong phạm vi cấu tạo từ, phương tiện chủ yếu về ngữ pháp chính là sự kếthợp các tiếng Trật tự sắp xếp các tiếng có vai trò qua trọng trong cấu tạo từ Kếthợp các phương tiện này Có hai phương thức cấu tạo từ chủ yếu đó là láy và ghép.Láy là việc sắp đặt các tiếng thành đôi, kề cận nhau, có sự phối hợp về ngữ âm tạonên nghĩa Còn ghép là việc sắp đặt các tiếng thành đôi, kề cận nhau, có sự kết hợpvề ngữ nghĩa tạo nên nghĩa của từ ghép
Trang 9Khi xem xét từ ghép, chúng ta có thể thấy có hai loại như sau:
Từ ghép song song: Mỗi tiếng thường là một tiếng có nghĩa, có thể dùng là
từ một tiếng, gắn bó với nhau theo quan hệ song song và nói chung có thể đổi chỗcho nhau Trong sự phối hợp về ngữ nghĩa thì thường có sự biến đổi về nghĩa riêngthành một nghĩa hình tượng
Ví dụ: Ăn uống, bàn ghế, nhà cửa…
Từ ghép chính phụ: Mỗi tiếng có thể có một tiếng có nghĩa, nhưng thông
thường có một tiếng có thể dùng làm từ còn tiếng kia không có chức năng ngữpháp đó
Tiếng Việt tồn tại một số các các từ ghép có nhiều hơn hai tiếng, phát triểntừ loại từ ghép chính phụ, qua đó có thể chia thành cá phần chính, phần phụ, thuậntiện hơn trong việc phân tích từ Chính sự tồn tại của từ ghép (ghép bởi các tiếngcó nghĩa) là nguyên nhân của sự nhập nhằng về nghĩa của câu Do vậy, để tránh sựnhập nhằng về nghĩa trong câu, muốn phân tích và xử lý văn bản tiếng Việt mộtcách tốt nhất thì bài toán đặt ra là làm thế nào để tách các từ trong câu thật chínhxác
Trang 102.2 Từ loại
Trong tiếng Việt, từ được phân ra thành nhiều từ loại khác nhau Trong tàiliệu “Từ loại danh từ trong tiếng Việt hiện đại” của tác giả Nguyễn Tài Cẩm tathấy xuất hiện các từ loại cơ bản sau:
Danh từ: bàn, ghế, vải vóc, khoa học, kỹ thuật,…Động từ: đi, đứng, nghiên cứu, chăm sóc,…Tính từ: nóng, đẹp, đẹp đẽ, vui vẻ, buồn,…Đại từ: tôi, họ, nó,…
Số từ: một, hai, ba,…Loại từ: con, cái,…Quán từ: các, những,…
Trạng từ: trên, dưới, trong, ngoài,…Liên từ và, hay, nếu, tuy,…
Giới từ: cùng, với, bằng, để,…Phó từ: đã, sẽ, khong, rất,…Trợ từ: nhỉ, nhé, thì mà,…
Tất nhiên trong việc phân loại trên chỉ có ý nghĩa tương đối, vì trong nhiềutài liệu khác nhau vẫn có sự khác nhau về cách phân chia theo từ loại Nếu xem xétmột cách kỹ lưỡng hơn nữa về mặt cú pháp, trong mỗi loại từ còn có thể chia nhỏhơn được nữa.
Trang 112.3 Dùng từ cấu tạo ngữ
Ngữ là đơn vị ngữ pháp trung gian giữa từ và câu Cho nên việc tìm hiểucấu tạo cũng như các loại ngữ là cần thiết để tìm hiểu cấu tạo của câu Qua cấu tạongữ, có thể nhận rõ thêm đặc điểm ngữ pháp của từ loại.
Theo “Ngữ pháp tiếng Việt-câu ”của tác giả Hoàng Trọng Hiếu,tiếng Việt có các ngữ loại cơ bản sau:
Danh ngữ: Ngữ có danh từ làm trung tâm Động ngữ: Ngữ có động từ làm trung tâm.Tính ngữ: Ngữ có tính từ làm trung tâm.
Giới ngữ: Ngữ bắt đầu bằng giới từ.
Để xây dựng được một hệ thống luật cú pháp tốt, ta cần phải chia các loạingữ một cách chặt chẽ hơn Và do vậy, ta cũng hạn chế số lượng câu sai Chẳnghạn, danh ngữ kết thúc trái (là danh ngữ mà vế trái của nó đã ở điểm tận cùng), takhông thể thêm hay bổ sung từ nào vào đầu để tạo nên danh ngữ mới.
Ví dụ “một bài toán”; ta không thể bổ sung “các”, “những”,… vào trướcngữ đó.
3 Câu tiếng Việt
Câu là đơn vị dùng từ, hay đúng hơn là dùng ngữ mà cấu tạo nên trong quátrình tư duy Xét về mặt cấu trúc câu, tiếng Việt có hai loại câu là câu đơn và câughép.
Trang 123.1 Câu đơn
Câu đơn là loại câu cơ sở của tiếng Việt, nó bao gồm một nòng cốt đơn haymột kết cấu chủ vị Về mặt ngữ nghĩa, Câu đơn mang ngữ nghĩa tự thân, còn câughép mang nghĩa kết hợp Câu đơn có thể là câu khẳng định, câu phủ định, câunghi vấn, câu tường thuật, câu cầu khiến, câu biểu cảm.
Ví dụ:Nó học rất giỏi.Nó không học giỏi.Nó học có giỏi không?Nó đang đi đến trường.Em đi học đi!
Em mới học giỏi làm sao!
Nòng cốt của câu đơn là một kết cấu chủ vị Ngoài ra câu đơn còn có cácthành phần nòng cốt khác như:
Thành phần than gọi Ví dụ ” Bạn ơi, chúng ta đi nào”.
Thành phần chuyển tiếp Ví dụ “ Anh Trường, trái lại, không làm gì cả”.Thành phần chú thích Ví dụ “Nó, em tôi, rất thông minh”.
Thành phần tình huống Ví dụ “ Trong máy tính, dữ liệu ở dạng nhị
Thành phần khởi ý Ví dụ “Thuốc, anh ấy không hút”.
Để diễn đạt một câu đơn, người ta thường dùng mô hình suy diễn:Câu đơn Px – Cx – Vx – Bx.
Trong đó P: Thành phần phụ C: Chủ ngữ V: Vị ngữ
B: Bổ ngữ, định ngữ.
Trang 13x: thành phần có thể triển khai tiếp.
3.2 Câu ghép
Về mặt ngữ pháp, câu ghép bao gồm bộ phận chủ yếu là một nòng cốt ghép,được tạo nên bởi ít nhất hai vế và mỗi vế thường bao gồm một nòng cốt đơn Tuyrằng, câu đơn chỉ có một nòng cốt đơn nhưng không phải bao giờ câu đơn cũngngắn hơn câu ghép Người ta có thể chia câu ghép thành hai loại: Câu ghép songsong và câu ghép qua lại.
Câu ghép song song: Là loại câu có thể có hai hay nhiều hơn hai vế Tuy
nhiên, sự liên kết giữa các vế lỏng lẻo, có thể tách thành các câu đơn mà vẫn bảotoàn nghĩa Có trường hợp các vế có quan hệ sử dụng kết từ, tuy nhiên ý nghĩa độclập của các vế vẫn tương đối rõ ràng.
Ví dụ:
Khán giả hò reo, cuộc đấu diễn ra thật sôi động và chúng tôi muốn đội chủnhà sẽ thắng.
Câu ghép qua lại: Là loại câu có hai vế và vế này là điều kiện tồn tại của
vế kia Có cả hai vế thì câu mới có ý nghĩa trọn vẹn Nối giữa các vế là các kết từ,thông thường người ta dùng cả cặp kết từ Ta có thể biểu diễn câu ghép như sau:
Tôi đi thì nó sẽ buồn.
Vì phở ngon nên cửa hàng của nó mới đông khách đến thế3.3 Các thành phần của câu
Trang 14Vị ngữ: Thành phần chính, bổ sung, giải thích ý nghĩa cho thànhphần chủ yếu.
Trạng ngữ: Thành phần chủ yếu, bổ sung ý nghĩa cho câu, chỉ nơichốn, thời gian, không gian, …
Bổ ngữ: Thành phần phụ thuộc, bổ sung ý nghĩa cho động từ làm vịngữ.
Định ngữ: Thành phần phụ thuộc, bổ sung ý nghĩa cho vị ngữ.
4 Các đặc điểm của tiếng Việt
Trang 154.1 Đặc điểm chính tả
Chính tả tiếng Việt đã có một hệ thống các quy tắc chuẩn mực Tuy vậy,vẫn còn có một số từ tồn tại nhiều cách viết khác nhau Ngay cả bản thân mộtngười cũng có lúc viết thế này, có lúc lại viết khác Sự sai khác này là do nhữngnguyên nhân sau:
Những từ đồng âm: y/i (kỹ thuật/ kĩ thuật, bác sĩ/ bác sỹ), d/gi (dông bão/giông bão)
Phương ngữ: chính đáng/ chánh đáng
Vị trí dấu trong một nguyên âm: cứu hoả/ cứu hỏa
Cách viết hoa tuỳ tiện đối với danh từ riêng: Tồn tại nhiều cách viết khácnhau ví dụ như Việt nam / Việt Nam
Phiên âm nước ngoài: là hình thức biến chữ ngoại quốc thành chữ địaphương Nhưng hiện nay tồn tại cả hai cách viết đó là phiên âm hoặc không phiênâm Ví dụ singapo / sing-ga-po
Dấu gạch nối thường xuất hiện các từ đa âm nước ngoài du nhập vào ViệtNam Ví dụ như: Portugal được dịch là Bồ Đào Nha / Bồ-Đào-Nha.
Các cách viết không thống nhất sẽ gây rất nhiều khó khăn trong việc kiểmtra chính tả cũng như áp dụng kiểm tra chính tả tự động bằng máy tính.
Trang 164.2 Vấn đề đa nghĩa và nhập nhằng trong ngôn ngữ
Phân tích cú pháp cho ta điểm khởi đầu để tìm ra ý nghĩa của toàn bộ câu.Khi chỉ có một cách phân tích thì việc tìm ra ý nghĩa của câu là việc khá đơn giản.Nhưng khi có nhiều cách phân tích thì việc tìm ra ý nghĩa thật của câu là một côngviệc khó khăn.
Ví dụ câu: “Tôi nghe nó ra thành phố” Câu này có hai cách phân tích sau: Tôi (là chủ ngữ) // nghe ( là động từ) // nó ra thành phố( là bổ ngữ)
Tôi (chủ ngữ) // nghe nó (thành phần giải thích) // ra thành phốCách phân tích thứ nhất thì đối tượng “ra thành phố ” là “Tôi”Cách phân tích thứ hai thì đối tượng “ra thành phố” là “nó”
Những câu như thế gọi là nhập nhằng cú pháp Sự nhập nhằng cú pháp sẽgây khó khăn trong quá trình phân tích.
Trang 17II MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU VĂN BẢN 1 Biểu diễn văn bản
Như chúng ta đã biết, bài toán khai phá dữ liệu văn bản là đi pháthiện các tri thức còn tiềm ẩn trong dữ liệu văn bản Các tri thức đó có thể là mộtmẫu hình hoặc được biểu diễn dưới dạng luật Đó thực chất là các biểu diễn có cấutrúc Tuy nhiên dữ liệu mà chúng ta áp dụng các kỹ thuật khai phá lai là dữ liệu phicấu trúc Chính vì điều này làm cho chúng ta không thể áp dụng trực tiếp trên dữliệu đầu vào mà cần phải có các thao tác tiền xử lý khác.
Với yêu cầu phân tích sâu hơn các văn bản, mỗi tài liệu cần đượcchuyển sang một dạng ngôn ngữ biểu diễn lại nào đó Một trong các ngôn ngữ biểudiễn lại được sử dụng rộng rộng rãi nhất đối với các văn bản là kiểu lập chỉ mụctheo từ đại diện Khi xem một văn bản ta quan tâm đến từ đại diện Đó chính làmột từ hay một cụm từ được lựa chọn để biểu diễn ý nghĩa hay đặc trưng của vănbản.
Do vậy, một vấn đề đặt ra là làm thế nào để trích lọc các từ đại diện cho vănbản một cách chính xác và đặc trưng cho văn bản Việc trích lọc các từ đại diệncho văn bản là một khâu quan trọng trong việc giải quyết bài toán khai phá dữ liệuvăn bản
Mô hình dưới đây nhằm xác định các từ đại diện cho văn bản một cách tựđộng.
Hình 1: Mô hình xác định từ đại diện cho văn bản
Bộ đọc(reader)
Phân tích cú pháp
Văn bản
Trang 18Sinh từ ( Term Generation)
Văn bản sau khi qua bộ phân tích cú pháp có thể đã thu được khá chính xáccác từ trong văn bản Tuy nhiên, không phải từ nào cũng được chọn làm từ đạidiện cho văn bản Chúng ta phải loại bỏ các từ mang ít thông tin Trong bước sinhtừ đại diện, chuỗi các từ đại diện chọn làm ứng cử viên tiềm năng dựa trên mẫuhình thái cú pháp như: “Danh từ - Danh từ”, “Tính từ - Danh từ”…
Sau khi đã có một chuỗi các ứng cử viên, ta tiến hành nối các từ đại diệnnày thành các từ đại diện đơn (single term) mới, quá trình này được thực hiên quanhiều vòng lặp Tại mỗi vòng lặp, ta tính hệ số kết hợp (association coeffcient)giữa mỗi cặp từ đại diện kề nhau Nếu cặp từ nào có hệ số kết hợp đủ lớn sẽ đượcnối lại thành một từ đại diện mới.
Có hai vấn đề đặt ra, thứ nhất là những mẫu hình thái – cú pháp nào được
sử dụng để tiến hành lập danh sách các từ đại diện tiềm năng, thứ hai là hệ số kếthợp được tính như thế nào.
Đã có rất nhiều nghiên cứu về các mẫu hình thái – cú pháp, việc sử dụng
các mẫu nào để có thể trích các từ đại diện từ văn bản Hiện nay, người ta thườngsử dụng một số mẫu hình như “Danh từ- Danh từ”, “Động từ - Danh từ”, “Danh từ- Kết từ - Dang từ” để có thể trích được các từ đại diện dạng như: Khai phá dữliệu, Quản trị doanh nghiệp, quản lý nhân sự…
Tuy nhiên, không phải bất cứ tổ hợp từ nào phù hợp với mẫu hình hình thái
– cú pháp đều có thể được chọn Chỉ những cụm từ có hệ số kết hợp đủ lớn mới
được đưa vào danh sách những từ đại diện có nhiều tiềm năng Có nhiều cách tínhhệ số kết hợp, trong đó người ta thường sử dụng một hàm tính độ đo đồng xuất
hiện, tính số lần hai từ cùng xuất hiện theo mẫu hình thái – cú pháp trong văn bản.
Trang 19Lọc từ (Term Filter)
Bước sinh từ được mô tả ở trên tạo ra một danh sách rất dài các từ đại diện,danh sách này được gắn với mỗi tài liệu mà không quan tâm đến mối liên hệ trêntoàn bộ các tập văn bản Trong khi đó, bước chiết xuất từ đại diện (term extraction)chỉ có ý nghĩa là chuẩn bị cho các kỹ thuật khai phá dữ liệu văn bản khác, giải
quyết các bài toán làm việc trên một tập lớn các tài liệu như phân lớp văn bản,
phân loại văn bản, tìm kiếm văn bản…do đó mối tương quan giữa các từ chiết xuất
được và tập văn bản phải được lưu ý đến Ngưỡng kết hợp mà ta chọn ở trên có thểtạo ra một danh sách rất dài các từ đại diện nhiều hơn mong đợi, dư thừa, không cóhiệu quả khi xét trên toàn bộ tập văn bản Mục đích của pha lọc từ này là thu gọntập từ đại diện dựa vào tần xuất của mỗi từ trên toàn bộ tập văn bản Pha lọc từ sẽtìm và loại bỏ các từ đại diện không đáng quan tâm trên toàn bộ ngữ cảnh của toànbộ tập văn bản, hoặc tần xuất của từ đó chưa đủ lớn (chưa vượt qua ngưỡng) hoặcsự phân bố không đồng đều trên toàn bộ tập văn bản.
Cách tiếp cận của chúng ta là sử dụng một hàm thống kê cho điểm trên cáctừ Hàm này gán điểm cho mỗi từ dựa trên tần xuất của từ đó trên toàn bộ văn bảnnói chung và phân bố xác xuất trên mỗi văn bản nói riêng Chúng ta sẽ tiến hànhchọn những từ có số điểm vượt ngưỡng M (do người sử dụng chọn qua thựcnghiệm), tập này sẽ được sử dụng cho các kỹ thuật khai phá dữ liệu văn bản sẽđược trình bầy ở phần sau.
2 Các kỹ thuật khai phá
Các bài toán thường được quan tâm trong khai phá dữ liệu văn bản là Phânloại văn bản (text categorization), Phân lớp văn bản (text classification), lập chỉmục tìm kiếm (text indexing) Các bài toán này đều phải dựa vào một yếu tố vôcùng quan trọng là những mẫu hình tri thức (patterns) hoặc các luật mà chúng takhai phá được từ tập văn bản để luyện (training document) Trong phần này, ta sẽxem xét một số những kỹ thuật dùng để khai phá tri thức từ tập các văn bản nhưphát hiện các luật kết hợp (association rules discovery), lập chỉ mục tự động(automated indexing)…
Trang 202.1 Khai phá các luật kết hợp (Association Rules)
Nếu dữ liệu dạng văn bản đã được lập chỉ mục, với mục đích trợ giúp choquá trình xử lý ngôn ngữ tự nhiên, cấu trúc chỉ mục (indexing structure) có thểđược sử dụng cho quá trình phát hiện tri thức chính xác từ dữ liệu văn bản.
Trong phần này, chúng ta xem xét cách tìm kiếm thông tin trong một tậpcác tài liệu đã được lập chỉ mục bằng cách tìm kiếm (retrieveing) một cách tự độngnhững mối quan hệ kết hợp giữa các từ khoá (key-word), được gọi là luật kết hợp(association rule).
Trang 212.2 Lập chỉ mục tự động (Auto indexing)
Trong hầu hết các trường hợp lập chỉ mục, người ta vẫn thực hiện một cáchthủ công Rõ ràng thao tác lập chỉ mục thủ công đòi hỏi rất nhiều thời gian vàkhông đáng tin cậy Việc lập chỉ mục tự động trên cơ sở tài liệu văn bản có thểđược xem xét với mục đích cho phép sử dụng các kỹ thuật chiết xuất luật kết hợptrên một diện rộng Các kỹ thuật lập chỉ mục tự động có thể sử dụng sơ đồ gántrọng số như sau:
Trong đó: wi,j là trọng số của từ khoá tj trong tài liệu di,
N là số lượng tài liệu trong tập tài liệu và nj là số lượng tài liệu cóchứa từ khoá tj.
pij là tần số lài liệu liên quan của tj trong di và được tính theo côngthức sau:
Trong đó: fi,j là số lần xuất hiện từ khoá tj trong tài liệu dj
Khi một sơ đồ đánh trọng số được lựa chọn thì việc đánh chỉ mục tự độngcó thể được thực hiện như là phép lựa chon đơn giản, trong đó các từ được lựachọn thoả mãn ràng buộc trong số đã cho.
Lợi ích của việc lập chỉ mục tự động là rút gọn được chi phí của việc lập chỉmục Tuy nhiên, một trong những nhược điểm của phương pháp này là do khôngcó thêm bất kỳ một tri thức (ví dụ như từ điển xếp loại đồng nghĩa) nên thủ tục lập
Trang 22chỉ mục tự động tạo ra các chỉ mục chung chung, không thực sự mạnh mẽ, chặtchẽ, hướng chủ đề.
3 Phân nhóm văn bản
Với nhiệm vụ của bài toán khai phá dữ liệu văn bản là tìm kiếm nhữngthông tin còn tiềm ẩn trong trong cơ sở dữ liệu Với những cơ sở dữ liệu lớn vấnđề đặt ra là các hệ thống tìm kiếm sao cho có hiệu quả, một trong những kỹ thuậtchủ yếu là phân nhóm văn bản nhằm giải quyết vấn đề trên.
Trong bài toán phân nhóm, một nhóm là tập hợp các phần tử giống nhauhơn so với các phần tử thuộc nhóm khác Mục tiêu của bài toán phân nhóm là tìmra được một tập các nhóm sao cho độ tương đồng giữa các thành phần bên trongmỗi nhóm cao và độ tương đồng giữa các phần tử thuộc các nhóm khác nhau thấp.
Đối với phương pháp phân nhóm phân cấp, quá trình xây dựng phâncấp thường có chi phí lớn nhất Đã có rất nhiều thuật toán được phát triển nhằmxây dựng cây phân cấp văn bản một cách có hiệu quả Các thuật toán này thườngcó chung phương pháp lặp quá trình phân tích hai cặp nhóm đã được xây dựng từtrước và hợp nhất cặp có độ tương đồng lớn nhất thành một nhóm văn bản Cácthuật toán chỉ khác nhau việc tính toán độ tương đồng khi một trong số các cặp làsản phẩm của quá trình hợp nhất trước đó Phương pháp phân nhóm đơn liên kếtđịnh nghĩa độ tương đồng là độ tương đồng lớn nhất giữa hai đơn vị từ hai nhóm.Các phương pháp phân nhóm khác như phương pháp như liên kết hoàn toàn sửdụng độ tương đồng nhỏ nhất, phương pháp phân nhóm liên kết nhóm trung bìnhsử dụng độ tương đồng trung bình Các thuật toán này thường có chung đặc
tính tích tụ ở chỗ chúng đều lặp quá trình ghép hai nhóm văn bản thành một nhóm.
Các thuật toán tích tụ theo nghĩa của thuật toán tham lam, nghĩa là cặp nhóm vănbản được chọn để kết hợp là cặp gần giống nhau nhất theo một tiêu chí nào đó.Cuối cùng, thuật toán này đều có tính toàn cục ở chỗ tất cả các cặp nhóm đều đượcxử lý để tính toán độ tương đồng và do đó độ phức tạp tính toán đều là O(n2) Đâylà một trong nhược điểm lớn nhất của các thuật toán dạng này.
Trang 23Các thuật toán phân nhóm dạng không phân cấp hoạt động theo cáchthức trái ngược so với các thuật toán phân nhóm phân cấp Các thuật toán này luôntăng đơn điệu số phần tử của từng nhóm và các nhóm mới có thể là kết quả củaquá trình tách hay hợp các nhóm cũ Các phương pháp phân nhóm không phân cấpcó thể yêu cầu các văn bản không thể được trùng nhau ở các nhóm khác nhau (nhưphương pháp chia) hoặc có thể trùng nhau.
Trang 24III MỘT SỐ PHƯƠNG PHÁP TÌM KIẾM VĂN BẢN1 Tìm hiểu chung về các hệ thống khai thác thông tin
Các hệ thông khai thác thông tin có thể được công thức hoá một cáchtổng quát như một hàm =(,D,Q,) với ={tt1, t2,…, tM} là tập các term (các từkhoá) ; D={td1, d2,…, dN } là tập các tài liệu trong đó mỗi di ; Q={tQ1,Q2,…, Qp}là tập các truy vấn trong đó mỗi QK ; và : Q D -> R là hàm xếp hạngước lượng độ chính xác giữa một truy vấn và một tài liệu Cho một truy vấn qQvới các tài liệu dj1,dj2 D nếu (q,dj1) > (q,dj2) thì dj1 được cho rằng chính xáchơn dj2 với truy vấn q.
Thông thường, một tài liệu dj có thể được biểu hiện với các cặp term vàtrọng lượng dj= (tj1,wj1 ;tj2,wj2 ; ….; tjn,wjn) với tjk và wj1 [0,1] đánh giá tầmquan trọng của term tjk trong tài liệu dj Một truy vấn q Q cũng có thể được biểudiễn bởi tập các cặp term và trọng lượng q=(q1,wq1;t2,wq2;….;tt,wqt) với qk và wqk[0,1] Nhiệm vụ của khai thác thông tin là mang lại một tập A={tdj1,dj2,…,djm}Dvới truy vấn q và một hàm xếp hạng (Q,djk).
Sau đây, chúng ta sẽ tìm hiểu kỹ về hai mô hình tìm kiếm thông tin được sử
dụng rộng rãi và khá phổ biến đó là mô hình không gian vectơ và mô hình lýthuyết tập thô
Trang 252 Tìm kiếm văn bản theo mô hình không gian vectơ
Một trong những mô hình phân nhóm hoặc tìm kiếm văn bản truyền thốngđó là dựa theo mô hình không gian vectơ, với cơ sở lí thuyết về ma trận xây dựngnhững vấn đề liên quan tới kỹ thuật phân nhóm các tài liệu, cách tiếp cận tớinhững vấn đề trong truy vấn cơ sở dữ liệu văn bản Trong đồ án này sẽ trình bàycụ thể hơn về mô hình không gian vectơ áp dụng cho bài toán tìm kiếm văn bản,các khái niệm và xây dựng thuật toán cho tìm kiếm thông tin.
2.1 Độ chính xác và độ truy hồi
Giả sử D là một tập hữu hạn các văn bản A là một giải thuật nhận chuỗi kýtự theo chủ đề là t làm đầu vào và trả lại một tập các văn bản A(t) ở đầu ra.A(t)D.
Với việc đưa vào thuộc tính thích hợp (relevant) với hai đối số: Một chủ đềt và một văn bản d Nếu relevant(t,d) là đúng thì có nghĩa là văn bản d được xemxét thích hợp với chủ đề t Ví dụ: Thuộc tính thích hợp có thể thực hiện trênnghiệm Dtest D của những văn bản và tập hợp kiểm tra độ tương tự Ttest của cácchủ đề
Hình 2: Truy vấn văn bản
Độ chính xác (Precision) của giải thuật A với sự tập trung tới thuộc tínhthích hợp và tập thử nghiệm Dtest là Pt% cho chủ đề t Ttest được tính
tập các văn bản có liên quan thích đáng
tập các văn bản
các văn bản tìm được sau thuật toán truy vấn
Trang 26(1)
Độ chính xác của giải thuật A với sự tập trung vào thuộc tính thích hợp, tập
hợp thử của văn bản Dtest và tập hợp thử của các chủ đề Ttest là P% được tính theocông thức:
)( test
(3)
(Trong đó: Rt là độ truy hồi liên quan đến một chủ đề t)
Độ truy hồi R kết hợp với thử nghiệm Dtest của các văn bản và thử nghiệmTtest của những chủ đề đã cho xác định bởi công thức sau:
)( test
Tcard
Trang 272.2 Bảng tần xuất
Giả sử D là tập hợp của N văn bản, T là tập hợp của M term xuất hiện trongcác văn bản D Bảng tần xuất (frequency table) FreqT là sự kết hợp giữa D và T làma trận (MN) trong đó FreqT(i,j) là số lần xuất hiện của term Ti trong văn bản dj.Như vậy trong bảng tần xuất FreqT văn bản dj biểu diễn bằng số cột j, còn số lầnxuất hiện của term ti được biểu diễn bằng hàng i trong ma trận bảng tần xuất Cómột câu hỏi đặt ra là tại sao bảng tần xuất lại quan trọng? Để giải thích một cáchchính thức câu hỏi này hãy làm một ví dụ gồm một vài văn bản mang tính giảthiết.
Bảng 1: Bảng tần suất của một số văn bản
Nếu chúng ta kiểm tra các văn bản này, chúng ta cần chú ý rằng d1 và d2 làtương tự nhau vì sự phân bố các từ trong d1 phản ánh sự phân bố các từ trong d2.Cả hai văn bản này đều có t1 và t4 xuất hiện nhiều lần, t2 và t3 xuất hiện ít và xuấthiện nhiều tương đối là t5.
Nhưng việc đếm từ một các đơn thuần không chỉ ra được tầm quan trọngcủa các từ trong văn bản Xét một ví dụ, một từ xuất hiện ba lần trong một văn bảngồm mười từ thì nó được cho là quan trọng Nhưng xét trong một văn bản khácgồm một triệu từ thì tầm quan trọng giảm đi rất nhiều Vì vậy, trong bảng tần suất,chúng ta thường quan tâm đến tỉ lệ giữa số lần xuất hiện của một từ trong văn bảnvà tổng số từ trong văn bản đó Vấn đề đặt ra là cần phải loại bỏ các từ mang ítthông tin.
Sau đây, chúng ta giả sử rằng bảng tần xuất FreqT(i,j) là những số thực lớn
Trang 28vấn Q như là một văn bản thì chúng ta đang đi tìm các cột trong ma trận trong matrận tần xuất FreqT càng gần với vectơ Q càng tốt Sự gần nhất được định nghĩabằng một thuật ngữ như sau:
khoảng cách từ ( term distance) : Giả sử vectơ vecQ (i) chứa số lần xuấthiện của từ ti trong ,Q thì khoảng cách từ giữa Q và văn bản dr được tính bằng côngthức:
khoảng cách cosin: Thước đo này sử dụng rộng rãi trong thế giới cơ sở dữ
liệu văn bản, nó được tính bằng công thức sau:
(6)
Ở đây, chúng ta tính toán kết quả của vectơ gắn với yêu cầu Q và văn bản di.Trong trường hợp xấu nhất, chúng ta sẽ yêu cầu O(N) sự so sánh, một cho mỗi tàiliệu và mỗi sự so sánh sẽ mất thời gian là O(M) Vì vậy, tổng cộng chúng ta sẽ mấtmột khoảng thời gian là O(MN) để tìm ra giải pháp tối ưu nhất.
Trang 292.3 Chỉ dẫn ngữ nghĩa tiềm ẩn (Latent Sematic Indexing LSI)
Ý nghĩa cơ bản của chỉ dẫn ngữ tiềm ẩn (LSI) là đưa các văn bản tương tựcó tần suất các từ giống nhau Tuy nhiên, trong trường hợp tổng quát, với một sốcơ sở dữ liệu văn bản các văn bản M và số các term N là rất lớn Nếu chúng tamuốn lập bảng chỉ mục cho các tài liệu văn bản thì việc con số các từ là rất lớn,khi đó bảng tần suất với số phần tử là rất lớn Thao tác trên những ma trận kíchthước là rất phức tạp Để làm giảm độ phức tạp ta dùng kỹ thuật phân tích giá trịriêng (singular value decompsition SVD) để làm giảm kích thước của ma trận tầnsuất Chỉ dẫn ngữ nghĩa tiềm ẩn (LSI) xem mỗi tài liệu là một véctơ có độ dài k,bởi vì sau khi thực hiện phân tích thành giá trị riêng chỉ giữ lại k hàng biểu diễn ýnghĩa quan trọng Một trong những phương pháp thành công nhất cho dữ liệu vănbản lớn chỉ được số hoá Kỹ thuật này cho phép chúng ta loại bỏ những cụm từ vànhóm cụm từ mà chúng ta phân biệt được giữa những tài liệu khác nhau Vớilượng các văn bản lớn để tạo bảng chỉ số từ các văn bản thì một trong những vấnđề cần giải quyết đó là bảng tần xuất có kích thước rất lớn Để giảm bớt kích thướccủa bảng tần số nhỏ hơn nhiều so với (M x N).
Kỹ thuật chỉ dẫn ngữ nghĩa tiềm ẩn (LSI) gồm các bước sau đây:Tạo bảng SVD: Bằng tính toán thực hiện phép phân tích thành giá trị riêng
(A, S, B) của FreqT Bởi phép phân tách FreqT vào trong 3 ma trận A, S, B.
Đồng nhất với vectơ: Với mỗi tài liệu d đặt tương ứng với Vec (d) là tập
hợp của tất cả các term trong Freqt mà những hàm tương ứng không bị loại trừtrong ma trận đơn S
Tạo mục chỉ dẫn: Lưu trữ tập hợp của tất cả các Vec(d) đã được chỉ số
theo con số đã qui định của kỹ thuật.
Khi đã có một yêu cầu thu hồi tài liệu tương tự với một tài liệu truy vấn dQthì chúng ta chỉ xem cấu trúc chỉ số được tạo ra ở trên và thử để tìm tài liệu d trongtập tài liệu lưu trữ sao cho vec (dQ) là bao đóng tới vec (d) với khoảng cách đãchọn trên vectơ.
Trang 30Quá trình phân tích giá trị riêng (Singular Value Decomposion SVD)
Ta nói m x n là cấp của ma trận M nếu như nó có m hàng và n cột Nếu M1và M2 là các ma trận có cấp (m1 x n1) và (m2 x n2), nếu số cột n1 bằng số hàng m2của ma trận M2 (n1 = m2) thì ta nói tích của M1 và M2 ký hiệu là M1 x M2 là một matrận cấp (m1x n2)
Ví dụ: Ta có 2 ma trận A và B
A x B có cấp là (2 x 3)
Tổng quát: Định nghĩa tích của hai ma trận
Giả sử:
Thì
Trong đó
Ví dụ
Cho một ma trận M với cấp (m x n), chuyển vị của M1, ký hiệu là MT đượcthành lập bởi chuyển mỗi hàng của M thành cột tương ứng của MT Sau đó, hàngđầu tiên của M được trở thành cột đầu tiên của MT, hàng thứ hai của M trở thành
Trang 31cột thứ hai của MT và tiếp tục, cho tới khi thứ m hàng của M trở thành thứ m cộtcủa MT Cuối cùng là một ma trận kích thước (n x m).
Xem mỗi vectơ là một ma trận có cấp (n x m) Hai vectơ x và y cùng cấp làtrực giao thì xTy = o
Ví dụ: Giả sử có hai véc là trực giao (Orthogonal), bởi vì:
xTy = (1 2 - 1) x 020
Ma trận M là đã được nói là trực giao (Orthogonal) nếu (Mt x M) là ma trậnđơn vị (ma trận có các phần tử trên đường chéo là 1).
Với các từ khác nhau, M là một ma trận đường chéo Nếu nó là một ma trậnvuông và tất cả các phần tử trên đường chéo là 0 Cần lưu ý rằng không nhất thiếtcác phần tử trên đường chéo là khác 0 Chúng có thể bằng 0 hoặc khác 0 Ví dụ, cảhai ma trận A và B ở dưới là ma trận đường chéo, nhưng C thì không phải.
C = 0110
Một ma trận đường chéo M có cấp (m x n) được nói là không tăng thêm vớimọi : i j, j m,, i j => M(i,j) M(j,j)
Trang 32Trong một số từ khác, đường chéo từ đỉnh tới cái đáy (đường chéo chính)giá trị giảm đi Từ ví dụ trên, B là một ma trận chéo không tăng nhưng A thì ngượclại.
Giả sử rằng FreqT là một bẳng tần số bất kỳ Một biểu biễn theo giá trịriêng của FreqT là một bộ ba (A, S, B) Trong đó:
FreqT = (A x S x BT)
Hình 3: Thu nhỏ kích thước qua SVD.
A là một ma trận giao (Orthogonal) cấp (M x M) thật vậy ATA=I.B là một ma trận trực giao cấp (N x N) thật vậy BT B= I
S gọi là ma trận đường chéo gọi là ma trận đơn.
Điều đó cho ta thấy rằng với ma trận bất kỳ có cấp (m x n), nó là có thể tìmmột phân tích một phân tích theo giá trị riêng (A, S, B) của M Như vậy, S là mộtma trận chéo không tăng
FreqT
M x N
Reduction giảm đi
Trang 33Ví dụ phân tích theo giá trị riêng của 1.44 3.08 3.92 1.44Là cho bởi 0.6 - 0.8 5 0 0.8 0.6
0.8 0.6 0 2 0.6 - 0.8
Trong đó, giá trị riêng là 5 và 2 dễ thấy rằng ma trận đơn không tăng Nếu FreqT có kích thước (M x N) thì T có cỡ (M x M) và S là có cấp(MxR), trong đó R là bậc của FreqT và có cấp (R x N).
Sau đây là các bước thực hiện:
1 Chọn một số nguyên k có giá trị thực sự nhỏ hơn R.
2 Thay thế S bởi S* là một ma trận (k x k) như S*(i,j) = S(i,j) với 1 i, jk.3 Thay thế ma trận DT cấp (R x N) bởi ma trận D*T cấp (k x N) ở đâyD*T(i,j)=DT(i, j) nếu 1 i k và 1 j N.
4 Thay thế ma trận T (M x M) bởi ma trận T*(M x K) một cách tương tự.Sau đây chúng ta xét ví dụ về làm giảm kích thước ma trận dùng kỹ thuậtLSI.
Giả sử FreqT có SVD như sau:
Trang 34Do đó, khi hệ thống cơ sở dữ liệu văn bản có thể có thể chọn rất tốt sau khiđã làm kích thước của ma trận bởi sự loại trừ hai hàng và cột trước của ma trậnđơn này Kết quả là:
Thông thường, kích thước của ma trận riêng trong trong vùng rộng hợp lý là200 Với kích thước này nó có những ý nghĩa sau:
1 Kích thước của ma trận tần suất ban đầu là (M x N) ở đây M là số termcủa tất cả các văn bản và N số văn bản Có thể dễ dàng nhận thấy số term M (sốterm) có thể lên đến hàng triệu và N (số văn bản) có thể lên đến hàng nghìn.
2 Kích thước của 3 ma trận sau khi chúng ta giảm kích thước của ma trậnriêng(giả sử M=1.000.000 , R=200, N=10.000):
+ Kích thước của ma trận đầu tiên là M*R : 200 triệu đầu vào.+ Kích thước của ma trận thứ hai là R*R: 40.000 đầu vào ( nhưngthực tế chỉ có 200 đầu vào cần lưu trữ, còn các đầu vào khác là bằng 0 ).
Trang 35+ Kích thước của ma trận cuối cùng là R*N: 2 triệu đầu vào.
Cộng tất cả lại chúng ta có khoảng 202 triệu đầu vào của bảng sau khi ápdụng SVD
3 Ngược lại, nếu áp dụng ngay trên ma trận nguyên ban đầu với kích thướclà M*N thì số đầu vào sẽ là 10 tỉ Nói một cách khác, SVD đã làm giảm khônggian lưu trữ xuống 50 lần
Chú ý: Những phân tích trên có phần hơi đơn giản vào khả năng có thể tin
cậy của SVD Trong nhiều trường hợp, ma trận ban đầu (m x N) là một ma trậnthưa (sparse matrix) Nó sử dụng số đầu vào ít hơn so với M*N Trong trường hợpnày, việc dùng SVD có thể làm tăng số lượng vùng chứa cần thiết.
Trang 362.4.Tìm kiếm tài liệu dùng SVD
Giả sử với biểu diễn SVD, T*S*D*T của một bảng tần suất Trong phần nàychúng ta xem xét sự biểu diễn này và trả lời câu hỏi Cho hai tài liệu d1 và d2 trongmột tập hợp các tài liệu văn bản lưu trữ, chúng “tương tự” thế nào? Cho một câutruy vấn Q, trong n văn bản thì văn bản nào “tương tự” nhất với Q.
Trước hết chúng ta dưa vào khái niệm phép nhân vô hướng của hai vectơ(có cùng độ dài): Giả sử x = (x1, … ,Xw) và y = (y1, …, yw) là hai vectơ có giá trị thực.
Thì tích vô hướng của x và y ký hiệu là xoy =
Độ tương tự của tài liệu
Giả sử di, và dj là hai tài liệu Sự tương tự giữa tài liệu này với nhau liênquan tới sự biểu diễn SVD, TS* x D*T của bảng tần số đã cho bởi tính toán vôhướng của hai cột trong ma trận D*T liên kết giữa hai tài liệu này.
*, (8)
Trong đó, ma trận đơn sau sự thu nhỏ kích thước là (R x R) Thay vì sosánh thuật ngữ (term) M giữa 2 tài liệu này, chúng ta chỉ so sánh R.
Tìm kiếm tài liệu tương tự với truy vấn Q
Giả sử Q là một truy vấn Xem Q như một tài liệu và tạo một vectơ VecQtương ứng của nó Cho dù có một sự khác nhau, chỉ R term quan trọng là đượcxem xét chứ không phải tất cả N Khi tìm tài liệu tương tự với truy vấn Q Chúngta phải đi tìm p tài liệu dQ(1), dQ(2), dQ(p)
Với tất cả 1 i j p sự tương tự giữa vecQ và dQ(i) là quan trọng hơnhoặc bình đẳng với sự tương tự giữa vecQ và dQ(i).
Với mục đích này một kỹ thuật cần thiết TV_Tree được trình bầy trongphần sau nhằm giải quyết vấn đề này.
Trang 372.5 TV_Tree
Để truy nhập chỉ số dữ liệu trong không gian kích thước rất lớn phải đạthiệu quả cao Chúng ta đã biết một tài liệu d có thể được xem như một vectơ d cóchiều dài K Với ma trận có giá trị riêng, sau khi phân tích, là có kích thước (k xk).
N.Center: Đại diện cho 1 điểm trong không gian k chiều.N.Radius: Một số thực lớn 0
N.ActiveDims: Đây là danh sách tối đa chiều Mỗt một chiều đó là 1 sốgiữa 1 và k Như vậy, N.ActiveDims là một tập con của (1,…,k).
Giả sử x và y là 2 điểm trong không gian k chiều và ActiveDims là tập hợpnào đó của chiều hoạt động Khoảng cách hoạt động (active_distance) giữa x và y,ký hiệu bởi act_dist (x,y) và được biểu diễn bằng công thức:
Giả sử x = (10, 5, 11, 13, 7, x6, x7,…,x2000) y = (2, 4, 14, 8, 6, y6, y7,…y2000)
Trang 38Một nút N trong TV_Tree đại diện cho vùng chứa tất cả các điểm x như vậykhoảng cách hoạt động (với tương ứng tới chiều hoạt động trong N.ActiveDims)giữa x và N.Center nhỏ hơn hoặc bằng N.Radius.
Ví dụ: nếu ta có nút N với center của nó.
N.Center = (10, 5, 11, 13, 7, 0, 0, 0, 0,…, 0).
N.ActiveDims = {t91, 2, 3, 4, 5} thì nút này đại diện cho vùng gồmtất cả các điểm x như sau:
Nếu N là một nút và chứa một tập các nút con N1, N2, Nr thì Region (N) =Region(Ni).
2.5.2.Chèn vào TV_Tree
Có 3 bước để chèn một vectơ vào cây TV.
Chọn nhánh (branch selection): Khi ta chèn một vectơ vào cây TV mà ta
dang ở nút Nj có con là Ni và 1 i NumChiild Ta cần xác định con nào sẽđược chèn khoá vào.