DANH MỤC HÌNHHình 1.1_ Mô hình phát triển bài toán Hình 1.2_ Mô hình xử lý tài liệu Hình 2.1_ Ma trận tương quan giữa từ khóa và tài liệu Hình 2.2_ Mô hình biểu diễn độ tương đồng cosine
Trang 1Hương đã tận tình hướng dẫn tôi hoàn thành luận văn này
Xin được cám ơn tập thể thầy cô trong khoa Công Nghệ Thông Tin trườngĐại Học Bách Khoa Hà Nội đã truyền tải cho tôi những kiến thức cơ bản vànền tảng để tôi có thể phát triển và hoàn thành luận văn
Tôi cũng kính lời tri ân đến các Thầy Cô trong khoa Công Nghệ Thông Tintrường Đại học Khoa Học Tự Nhiên TP.HCM như TS Hồ Bảo Quốc, Th.s Nguyễn Hoàng Tú Anh đã góp ý cho tôi trong quá trình hoàn thành đềtài tốt nghiệp này
Và cuối cùng, xin được gửi lời cám ơn đến người thân trong gia đình, bạn bè,đồng nghiệp đã động viên, hỗ trợ tôi về nhiều mặt để có thể hoàn thành luậnvăn này
Tp Hồ Chí Minh, tháng 03/2010
Trang 2MỤC LỤC
DANH MỤC HÌNH ii
DANH MỤC CÁC BẢNG iv
CÁC TỪ VIẾT TẮT v
LỜI NÓI ĐẦU 1
Chương 1: MÔ HÌNH PHÁT TRIỂN 4
1 Mục đích và phạm vi của đề tài: 4
1.1 Mục đích và yêu cầu: 4
1.2 Phạm vi phát triển đề tài: 4
2 Mô hình phát triển bài toán: 5
2.1 Xây dựng mô hình bài toán: 5
2.2 Các hướng tiếp cận của bài toán: 8
2.3 Môi trường phát triển: 9
Chương 2: CƠ SỞ LÝ THUYẾT CỦA BÀI TOÁN 10
1 Giới thiệu: 10
2 Tìm hiểu các kỹ thuật phát triển: 10
2.1 Các ứng dụng liên quan xử lý tiếng việt: 10
2.2 Kỹ thuật phát triển hệ tư vấn gợi ý (Recommender System) 13
2.3 Kỹ thuật đánh giá độ tương đồng giữa các tài liệu: 28
2.4 Kỹ thuật phân nhóm người dùng: 42
2.5 Kết hợp kỹ thuật lọc dựa trên nội dung và lọc cộng tác: 52
Chương 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 54
1 Giới thiệu tổng quan: 54
1.1 Giới thiệu ứng dụng: 54
1.2 Các yêu cầu của ứng dụng: 56
2 Phân tích ứng dụng: 56
2.1 Phân tích chức năng: 56
2.2 Phân tích hành vi 62
2.3 Class Diagram: 63
3 Thiết kế ứng dụng 64
3.1 Thiết kế cơ sở dữ liệu 64
Trang 33.2 Thiết kế giao diện: 69
4 Cài đặt và thử nghiệm 73
5 Đánh giá: 75
5.1 Dữ liệu đầu vào: 75
5.2 Phân nhóm dữ liệu: 75
Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 76
1 Kết luận: 76
1.1 Về mặt nghiên cứu: 76
1.2 Về mặt ứng dụng: 77
2 Hướng phát triển: 77
2.1 Mở rộng kỹ thuật phân nhóm dữ liệu: 77
2.2 Kỹ thuật tư vấn dựa trên thông tin người dùng: 77
TÀI LIỆU THAM KHẢO: 78
Trang 4DANH MỤC HÌNH
Hình 1.1_ Mô hình phát triển bài toán
Hình 1.2_ Mô hình xử lý tài liệu
Hình 2.1_ Ma trận tương quan giữa từ khóa và tài liệu
Hình 2.2_ Mô hình biểu diễn độ tương đồng cosine giữa tài liệu và
câu truy vấn
Hình 2.3_ Mô hình ma trận giảm chiều
Hình 2.4_ Mô hình đồ họa của PLSA
Hình 2.5_ Minh họa người dùng lựa chọn đối tượng
Hình 2.6_ Cơ sở dữ liệu đánh giá đối tượng của người dùng
Hình 3.1_ Mô hình hệ thống
Hình 3.2_ Activity Diagram của Use-case Search & Recommend
Hình 3.3_ Activity Diagram của Use-case Document Management
Hình 3.4_ Use-case Diagram của hệ thống
Hình 3.5_ Sequence Diagram của Use-case Search &
Hình 3.6_ Class Diagram của Use-case Search & Recommend và Document
Management
Hình 3.7_ Biểu đồ quan hệ thực thể
Hình 3.8_Giao diện bắt đầu tìm kiếm
Hình 3.9_Giao diện hiển thị kết quả tìm kiếm
Hình 3.10_Giao diện hiển thị các tài liệu tương đồng
Trang 5Hình 3.11_Giao diện quản lý tài liệu.
Trang 6DANH MỤC CÁC BẢNG
Bảng 2.1_ Các kỹ thuật phát triển hệ tư vấn gợi ý
Bảng 2.2_ So sánh hai mô hình VSM và LSA
Bảng 2.3_ So sánh hai mô hình LSA và PLSA
Bảng 3.1_ Bảng mô tả thông tin tài liệu
Bảng 3.2_ Bảng mô tả thông tin nhà xuất bản
Bảng 3.3_ Bảng mô tả thông tin tác giả
Bảng 3.4_ Bảng mô tả mối quan hệ giữa tác giả và tài liệu
Bảng 3.5_ Bảng mô tả thông tin chủ đề
Bảng 3.6_ Bảng mô tả thông tin danh mục cấp 2
Bảng 3.7_ Bảng mô tả thông tin danh mục cấp 1
Bảng 3.8_ Bảng mô tả thông tin người dùng
Trang 7CÁC TỪ VIẾT TẮT
EM_ Expectation Maximization
LDA_ Latent Dirichlet Allocation
LSA_ Latent Semantic Analysis
PLSA_ Probabilistic Latent Semantic Analysis
RDF_ Resource Description Framework
RS_ Recommender System
SVD_ Singular Value Decomposition
TEM_ Tempered Expectation Maximization
TF-IDF_ Term Frequency/ Inverse Document Frequency
VSM_ Vector Space Model
Trang 8LỜI NÓI ĐẦU
Word wide web tràn ngập với một số lượng lớn thông tin có cấu trúc vàkhông có cấu trúc, lại thay đổi liên tục Điều này ảnh hưởng sâu sắc đến nhiềukhía cạnh trong cuộc sống: thay đổi cách chúng ta giao tiếp, làm việc, muasắm, giải trí… Tuy nhiên, một lượng thông tin dư thừa từ các nguồn khácnhau như việc tự động sao lưu hệ thống, việc sao chép nội dung từ nhiều trangweb khác nhau, thậm chí các lời bình luận từ blog, báo chí, các diễn đàn,mạng xã hội… trở thành một thách thức lớn cho việc tìm kiếm thông tin cóhiệu quả, chất lượng Điều này cũng làm cho một lượng lớn các tri thức bịchôn vùi trong hàng tỷ trang web hiện nay Web mining khám phá các thôngtin có giá trị (tri thức) và phù hợp với sự quan tâm của người dùng một cách
tự động đã trở thành vấn đề quan trọng đang được quan tâm hiện nay Trướcđây, để tìm kiếm thông tin, người dùng gõ từ khoá (keyword) vào ô tìm kiếm
Và họ nhận được rất nhiều thông tin liên quan đến từ khoá Chẳng hạn, nguờidùng gõ từ khoá “bún bò” thì kết quả mà họ nhận được là: cách nấu bún bò,địa chỉ bán bún bò, hay văn hoá ẩm thực của bún bò, thậm chí là cả nhữngthông tin liên quan đến từ “bún” và “bò”… người dùng bị rối rắm trong mớthông tin này Điều này cũng dẫn đến hiện tượng thắt cổ chai gây khó khăncho việc tìm kiếm, rút trích và bảo trì thông tin Bởi máy tính được dùng nhưmột thiết bị gửi và nhận thông tin, chúng chỉ hỗ trợ trong giới hạn nào đótrong việc truy xuất và xử lý thông tin Vì vậy, người dùng phải đảm tráchviệc xử lý và lọc thông tin cho phù hợp với nhu cầu của mình
Để khắc phục vấn đề này, các kỹ thuật xử lý ngữ nghĩa của nội dung tài liệuđược phát triển giúp máy tính “hiểu” nội dung chứa đựng bên trong trangweb Mặt khác, trong thực tế mỗi vấn đề được diễn tả bởi một tập từ ngữ đặc
Trang 9trưng hay còn gọi là tập từ khoá Do đó, thay vì máy tính phải xem xét toàn
bộ nội dung của tài liệu thì chỉ cần tìm kiếm dựa trên tập từ khoá đặc trưngcho nội dung Hơn nữa, việc xác định đặc trưng nội dung của tài liệu giúpchúng ta dễ dàng đánh giá độ tương đồng giữa các tài liệu Vì thế sẽ tiết kiệmđược thời gian và có được những thông tin gợi ý nhanh chóng và chính xác từ
hệ thống
Bên cạnh đó, chúng ta cũng nhận ra trong cộng đồng xã hội luôn hình thànhcác nhóm có chung sở thích và mối quan tâm ở một khía cạnh nào đó Do đó,việc thống kê thói quen sử dụng của người dùng cũng hỗ trợ việc đưa ranhững gợi ý nhanh chóng và chính xác hơn
Các kỹ thuật khai phá và xử lý thông tin hiện nay đang đứng trước nhữngthách thức mới với số lượng thông tin lớn và thay đổi liên tục Việc xử lý ngữ
lý ngữ nghĩa nội dung tài liệu, cũng như hướng vào mối quan tâm của ngườidùng là một hướng nghiên cứu mới trong xu thế hiện nay Và đây cũng là lý
do tôi chọn đề tài “xây dựng hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu” đểlàm luận văn tốt nghiệp
Với mục tiêu xây dựng ứng dụng với các kỹ thuật xử lý ngữ nghĩa kết hợpphân tích thói quen sử dụng của người dùng nhằm đưa ra những gợi ý phùhợp với vấn đề người dùng quan tâm, bố cục của luận văn như sau:
Chương 1: Mô hình phát triển
Chương 2: Cơ sở lý thuyết của bài toán
Chương 3: Xây dựng ứng dụng
Chương 4: Kết luận và hướng phát triển
Trang 10Với thời gian thực hiện luận văn có giới hạn, chắc chắn không thể tránh khỏinhững sai sót Kính mong sự góp ý của quý Thầy Cô, các anh chị đồng nghiệp
để có thể xây dựng ứng dụng hoàn thiện hơn
TP Hồ Chí Minh, Ngày 01 tháng 03 năm 2010
Người thực hiệnNguyễn Thị Khiêm Hòa
Trang 11Chương 1: MÔ HÌNH PHÁT TRIỂN
1 Mục đích và phạm vi của đề tài:
1.1 Mục đích và yêu cầu:
Word wide web chứa một kho tri thức khổng lồ dưới dạng tài liệu thô
mà chỉ con người mới có thể hiểu được Vì vậy, cần có một công cụ đểkhai thác các thông tin này một cách có hiệu quả Nghĩa là, làm thế nào
để có thể xử lý tự động ngữ nghĩa của tài liệu? Và làm thế nào để máytính có thể “hiểu” được người dùng muốn gì và quan tâm đến điều gì?Với mục tiêu tìm kiếm tài liệu một cách nhanh chóng và chính xácphục vụ cho việc nghiên cứu, tôi chọn đề tài “xây dựng hệ thống tư vấngợi ý tìm kiếm thông tin” Nhằm nghiên cứu và tìm hiểu các phươngpháp phân tích ngữ nghĩa của tài liệu tiếng việt, kết hợp phân tíchnhững đánh giá từ cộng đồng người dùng đối với đối tượng cần tìm,giúp cho việc tìm kiếm nhanh chóng và chính xác hơn
Từ mục tiêu vừa đưa ra, những yêu cầu cần phải tìm hiểu để đạt mụctiêu trên gồm:
- Lọc và xử lý các định dạng khác nhau của tài liệu tiếng việt
- Tìm kiếm và gợi ý tài liệu dựa trên ngữ nghĩa và đánh giá của người
sử dụng đối với đối tượng có trên hệ thống
- Xây dựng ứng dụng minh hoạ tính thực tiễn của hướng nghiên cứu
1.2 Phạm vi phát triển đề tài:
Nội dung của tài liệu chính là tri thức mà con người có thể thu thậpđược khi đọc tài liệu Làm thế nào để máy tính có thể “hiểu” được ngữnghĩa của tài liệu? Thực tế, máy tính chỉ nhận dạng ra khuôn mẫu của
Trang 12tài liệu theo một phương pháp nào đó chứ không hiểu ngữ nghĩa thật sựcủa tài liệu Hiện nay, người ta nghiên cứu và phát triển thế hệ web cóngữ nghĩa Có hai hướng khác nhau trong việc nghiên cứu này: Một là,phát triển một hệ thống web hoàn toànmới với chuẩn siêu dữ liệu RDF(Resource Description Framework) trên web, chuẩn hoá các ngôn ngữbiểu diễn ontology cho web có ngữ nghĩa … cách này, phải xây dựnglại toàn bộ cấu trúc hệ thống web Cách thứ hai, là xây dựng cácphương pháp phân tích, khai thác các nguồn thông tin sẵn có trên web.Trong phạm vi của đề tài, tôi chọn cách tiếp cận thứ hai, nghiên cứucách tiếp cận phân tích độ tương đồng ngữ nghĩa giữa các tập tài liệudựa trên rút trích và thống kê Đồng thời, cũng nghiên cứu kỹ thuậtphân tích các đánh giá của người dùng đối với các đối tượng (tài liệu)trên hệ thống thông qua phương pháp thống kê để tăng tốc độ xử lý cho
hệ thống Cuối cùng, xây dựng một Demo ứng dụng web nhằm chứngminh tính khả thi của đề tài trong thực tế
2 Mô hình phát triển bài toán:
2.1 Xây dựng mô hình bài toán:
Dựa trên mục tiêu đưa ra ban đầu, mô hình bài toán có thể được pháchoạ như sau:
- Người dùng có thể đăng nhập hệ thống hoặc không Với ngườidùng có đăng ký tài khoản trên hệ thống thì hệ thống sẽ tạo ra mộtprofile lưu trữ thông tin người dùng và được cập nhật sau cácphiên làm việc (session) Đồng thời trong quá trình tìm kiếm sẽđánh giá giữa tài liệu cần tìm với những vấn đề đang quan tâm củangười dùng để cho kết quả phù hợp hơn
Trang 13Nhập câu tìm kiếm
Client Browser
Câu tìm kiếm Kết quả tìm kiếm Chọn một tài liệu Kết quả gợi ý
Tách câu tìm kiếm thành các từ khoá tìm kiếm.
Tìm kiếm theo từ khoá
Cập nhật tần suất được chọn của tài liệu Tìm kiếm tài liệu tương đồng nội dung và sự quan tâm của user.
Server
Tran
g tìm kiế
user
- Hệ thống cho phép người dùng tìm kiếm theo từ khoá Những tàiliệu được chọn đọc sẽ được dùng để tự động tìm kiếm những tàiliệu khác có nội dụng liên quan, kết hợp vấn đề người dùng quantâm để đưa ra gợi ý giúp người dùng có nhiều thông tin hơn
- Bên cạnh đó, ghi nhận tần suất được chọn của từng tài liệu để cóthể gợi ý nhanh hơn theo từng danh mục tìm kiếm
Hình 1.1_Mô hình phát triển bài toán
Trang 14Phân tích từ khoá đặc trưng cho nội dung
Từ khoá đặc trưng cho nội dung
So sánh độ tương đồng nội dung
Các tài liệu tương đồng nội dung
Tài liệ u
Mô hình xử lý tài liệu nhằm khai thác nội dung của tài liệu trong quá trình tìmkiếm
Hình 1.2 Mô hình xử lý một tài liệu
Khi rút trích được tập từ khoá đặc trưng cho nội dung của tài liệu, hệthống sẽ tìm thấy tài liệu nhanh hơn do khối lượng tìm kiếm giảm đirất nhiều Nội dung của tài liệu được cô đọng bởi những từ khoá đượcxếp hạng Từ khoá có tần suất xuất hiện càng cao càng đặc trưng chonội dung tài liệu Tuy nhiên, trong tài liệu cũng chứa nhiều từ khoá cótần suất xuất hiện nhiều nhưng không mang ý nghĩa (stopword) Do
đó, cần có file từ điển để loại bỏ các stopword này Từ đó, dựa vàothống kê và tập từ khoá đặc trưng để đánh giá độ tương đồng về nộidung giữa các tài liệu
Bên cạnh đó, cần kết hợp với những vấn đề mà người dùng quan tâm(thu thập được người dùng đăng ký và cập nhật dựa trên lịch sử làmviệc của người dùng) để đưa ra những kết quả tìm kiếm phù hợp hơn
Trang 152.2 Các hướng tiếp cận của bài toán:
Để có được tập từ khoá đặc trưng,việc đầu tiên là hệ thống phảivector hoá nội dung tài liệu bằng cách tách từ, xác định tập từ khoáđại diện cho văn bản và biểu diễn văn bản thông qua vector các từkhoá này Một cách tiếp cận là dựa trên tần suất xuất hiện của từ
tf×idf Việc phân tách từ đã có nhiều kỹ thuật khác nhau hiện nay.
Tuy nhiên, với tiếng Việt thì việc tách từ cũng có một vài đặc điểmriêng khác biệt do cấu trúc ngữ pháp khác với tiếng Anh, tiếng Việt làngôn ngữ đơn âmtiết nên một từ không hẳn cách nhau bởi khoảngtrắng Một trong những kỹ thuật được áp dụng hiện nay đó là dùng từđiển để phân tách Nếu từ điển có nhiều từ và có khả năng nhóm các
từ đồng nghĩa thì việc phân tách càng chính xác và cô đọng nội dunghơn
Bước tiếp theo là thực hiện tìm kiếm thông qua phép so sánh độtương đồng nội dung giữa các tài liệu Có nhiều cách tiếp cận để tính
độ tương đồng nội dung như tiềm ẩn dựa trên xác suất PLSA(Probabilistic Latent Semantic Analysis), dùng từ điển đồng nghĩa…Bên cạnh đó để tăng độ chính xác, phù hợp với sự quan tâm củangười dùng thì kết hợp với kỹ thuật phân tích dựa trên thống kê đểphân thành các nhóm người dùng có chung sự quan tâm nhằm lọc lạinhững thông tin cô đọng hơn
Trong phạm vi thời gian nghiên cứu có hạn nên tôi tập trung nghiêncứu các vấn đề sau:
- Phân tích ngữ nghĩa tiềm ẩn của nội dung tài liệu nhằm đánh giá
độ tương đồng nội dung giữa các tài liệu, đáp ứng nhu cầu tìmkiếm của người dùng nhanh và chính xác
Trang 16- Hệ tư vấn gợi ý (RS_Recommender system) và các kỹ thuật pháttriển.
- Phân tích các đánh giá của cộng đồng người dùng đối với các đốitượng tìm kiếm trên hệ thống, cách thức lưu trữ thông tin ngườidùng và kỹ thuật phát triển
2.3 Môi trường phát triển:
Để xây dựng ứng dụng demo, tôi thực hiện trên môi trường phát triểnsau:
- Visual studio 2005
- Xây dựng website với ASP.Net và C#
Trang 17Chương 2: CƠ SỞ LÝ THUYẾT CỦA BÀI TOÁN
1 Giới thiệu:
Với mô hình bài toán được phân tích ở trên và các hướng tiếp cận đã nêu,trong chương này tôi đi sâu vào trình bày cụ thể các kỹ thuật liên quanđến bài toán gồm:
- Kỹ thuật đánh giá độ tương đồng nội dung giữa các tài liệu
- Kỹ thuật phân tích mức độ quan tâm của người dùng đối với các đốitượng trên hệ thống
Riêng nhóm kỹ thuật vector hoá nội dung văn bản gồm tách từ và rút ratập từ khoá đặc trưng, tôi chỉ giới thiệu và kế thừa kết quả nghiên cứu từcác ứng dụng khác đã thành công
2 Tìm hiểu các kỹ thuật phát triển:
2.1 Các ứng dụng liên quan xử lý tiếng việt:
Tiếng nói và chữ viết là hai thành phần cơ bản của bất cứ ngôn ngữnào Hiện nay ở Việt Nam, một số công trình liên quan đến tiếngViệt cũng đã có những thành công nhất định qua các phần mềm:
- Bộ gõ tiếng Việt đã ra nhiều phiên bản và càng lúc càng hoànthiện hơn Việc đưa bảng mã Unicode và được chọn làm bộ mãchuẩn tiếng Việt cũng đã thành công
- Các chương trình hỗ trợ tiếng nước ngoài như từ điển Lạc Việt,các hệ dịch EVTRAN hay VETRAN, các phần mềm học tiếngnước ngoài…
- Chương trình kiểm lỗi tiếng Việt, chuyển bảng mã, … Vietspell
Trang 18- Các phần mềm được việt hoá như Windows và Microsoft OfficeCác phần mềm trên ít nhiều cũng cho thấy nhu cầu sử dụng tiếngViệt trên máy tính là không nhỏ Và hẳn nhiên đó chỉ là bước khởiđầu của việc xử lý ngôn ngữ tiếng Việt tự động trên máy tính.
Việc gợi ý tìm kiếm trên máy tính bằng tiếng Anh cũng đã có một
số ứng dụng đã tồn tại trên mạng hiện nay như tìm kiếm sách trên
amazon.com, tìm kiếm phim trên movies.com hay tìm kiếm CDs…
Tuy nhiên, hiện nay vẫn chưa có một amazon Việt Nam để giúp cho
việc tìm kiếm tài liệu nghiên cứu Vì vậy, việc ứng dụng xử lý tiếngViệt trong xây dựng một hệ tư vấn gợi ý bằng tiếng Việt là vấn đềcần thiết nhằm cung cấp cho người dùng Việt Nam một ứng dụngthân thiện, góp phần trong việc phát triển nghiên cứu khoa học củanước nhà
2.1.1 Đặc trưng cấu trúc ngữ pháp tiếng việt:
Có nhiều nghiên cứu về ngữ pháp tiếng Việt Song trong ứngdụng cụ thể tôi không bàn đến khía cạnh ngôn ngữ học mà chỉquan tâm đến những đặc trưng liên quan đến việc phân tích vàtách từ Các đặc điểm ngữ pháp tiếng Việt:
- Là ngôn ngữ không biến cách, từ không bị biến thể
- Từ không được phân cách bởi khoảng trắng Từ có thể làmột hoặc nhiều âm tiết, mà bản thân mỗi âm tiết lại có thể
là một từ
- Từ có thể đa nghĩa dẫn đến sự nhập nhằng khi xử lý ngônngữ
Trang 192.1.2 Các bước xử lý tài liệu tiếng việt:
Thông tin được lưu trữ dưới dạng các file tài liệu như sách,tạp chí, bài báo… điện tử Với tài liệu tiếng Việt, mỗi từ cóthể bao gồm nhiều âm tiết Việc tách từ tiếng Việt phải dựatrên từ điển và các thuật toán kết hợp sao cho các từ đượctách đúng nghĩa nhất trong ngữ cảnh cần đề cập Sau khi tách
từ, thực hiện loại bỏ các từ không mang nhiều ý nghĩa về nộidung (stopword) Cuối cùng, dùng kỹ thuật TF-IDF để rúttrích được tập từ khoá của tài liệu
2.1.3 Giải pháp tách từ:
Hiện nay, các tài liệu tiếng việt được khai thác trên font chữchung, tuân theo chuẩn Unicode Điều này thật sự có lợi chocác chương trình đọc tài liệu tiếng việt được chính xác
Với tiếng việt, việc tách từ không thể dựa trên dấu cách màcần có giải thuật tốt để việc tách từ được chính xác Và hiệnnay cũng đã có khá nhiều công cụ tách từ đạt được độ chínhxác cao như: Vntonkenizer (96%) Tuy nhiên, do không tậptrung nghiên cứu vấn đề này nên tôi kế thừa các kết quảnghiên cứu đã có cho việc tách từ và rút trích đặc trưng củatài liệu
Trang 202.2 Kỹ thuật phát triển hệ tư vấn gợi ý (Recommender System)
2.2.1 Giới thiệu hệ tư vấn gợi ý (RS – Recommender System)
Hệ tư vấn gợi ý là một hệ thống lọc thông tin đặc biệt dựatrên những đặc trưng của đối tượng nhằm gợi ý cho ngườidùng những thông tin dịch vụ gần gũi với sự quan tâm của
họ nhất
Cách giải quyết vấn đề của hệ tư vấn gợi ý làước đoán tỷ lệquan tâm của người dùng với các đối tượng dựa vào cácthông tin lựa chọn của họ Từ đó ước đoán tỷ lệ của các đốitượng không được chọn và gợi ý cho người dùng các đốitượng có tỷ lệ ước đoán cao nhất
Về căn bản, mô hình hệ tư vấn gợi ý được xây dựng nhưsau: nếu gọi C là tập các thành viên trong hệ thống; và S làcác đối tượng có thể gợi ý trong hệ thống như: sách, tạp chí,CD… Gọi u là giá trị phù hợp của đối tượng s với ngườidùng c, nghĩa là u: c × s R, với R là tập được đưa ra gợi ýcho người dùng c, được sắp thứ tự giảm dần của u Với mỗingười dùng c C, ta chọn được đối tượng s’ S là giá trịđược ưa thích nhất:
Trang 21hàm tuỳ ý Tuỳ vào ứng dụng, độ thích hợp này dựa vào đặctrưng của người dùng và được tính toán tự động Mỗi người
dùng có thể được mô tả bởi profile với nhiều thông tin khác nhau, thậm chí chỉ có userID Và mỗi đối tượng cũng được
mô tả bởi các đặc trưng
Vấn đề chính của hệ tư vấn gợi ý là độ thích hợp u khôngtìm trên toàn bộ không gian c s mà chỉ tìm trên tập concủa không gian này, nghĩa là, u được ngoại suy từ khônggian c s Trong hệ tư vấn gợi ý, độ thích hợp được biểudiễn bởi việc ước lượng dựa trên sự lựa chọn của ngườidùng trước đó Từ đó ước đoán được người dùng quan tâmđến đối tượng nào Việc ngoại suy từ các đối tượng đượcchọn để có thể gợi ý các đối tượng tiềm ẩn thích hợp thì cónhiều cách tiếp cận:
- Gợi ý dựa trên nội dung (Content _ based Approach):
dựa vào nội dung thông tin mà người dùng đã chọn
- Gợi ý cộng tác (Collborative filtering Approach): đưa ra
các gợi ý mà những người khác (trong môi trường xãhội) đã lựa chọn
- Gợi ý theo phương pháp lai (Hybrid Approaches): kết
hợp cả hai cách tiếp cận trên
2.2.2 Phương pháp dựa trên nội dung (Content_based
Methods)
Trong phương pháp này độ thích hợp u (c, s) của đối tượng
s được ước đoán dựa trên u(c, si) của người dùng c với si S sao cho s và si tương đồng với nhau Phương pháp
Trang 22gợi ý dựa trên nội dung bắt nguồn từ việc tìm kiếm và lọcthông tin dựa trên text Do đó, một cách tiếp cận cải tiến
phương pháp này theo truyền thống là dựa vào profile chứa
các thông tin về sở thích và sự quan tâm của người dùng.Các thông tin này có thể thu thập dựa trên bảng câu hỏi hoặcdựa vào quá trình tương tác với hệ thống của người dùng
Để mô tả thông tin của đối tượng, hệ thống cũng có một tập
các đặc trưng Content(s) của đối tượng s được trích lọc từ
các thuộc tính của đối tượng nhằm phục vụ cho việc gợi ý.Với các tài liệu cũng như các trang web thì nội dung được
mô tả bằng một tập từ khoá đặc trưng Với mỗi từ khoá ki
trong tài liệu dj có thể xác định đượctrọng số wij với nhiềucách khác nhau Một trong những phương pháp phổ biến đểxác định trọng số wijlà độđo TF-IDF (termfrequency/inverse document frequency) Gọi N là số tài liệu
có thể được gợi ý và ni là số tài liệu có xuất hiện từ khoá ki.Gọi TFij là tần số xuất hiện của từ khoá ki trong tài liệu dj.Gọi fij là số lần xuất hiện của từ khoá kj trong tài liệu dj Tacó:
TF ij= fij
maxzf zj (TFij: tần suất thuật ngữ)với (max)zfzj là số lần xuất hiện của từ khoá kz trong tàiliệu dj
Tuy nhiên một số từ khoá cùng xuất hiện trong nhiều tàiliệu Do đó, tần suất thuật ngữ không giúp cho việc phân
Trang 23biệt giữa các tài liệu có liên quan hoặc không Vì vậy, cầntính tần suất đảo để hỗ trợ cho TFij Công thức tần suất đảocủa tài liệu được tính như sau:
Tương tự, ta cũng có thể định nghĩa tập thông tin người
dùng cContent_Profile (c) chứa những thông tin mà người dùng quan tâm Mỗi Content_Profile (c) là một vector trọng
số:
Content Profile (c) = {w c1 , w c2 , …, w ck }
trong đó wci là mức độ “quan trọng” của từ khoá ki đối với
người dùng c Việc tính toán Content_Profile (c) có thể
dùng giá trị trung bình như thuật toán Rocchio hoặc dùngkhông gian xác suất để phân lớp như Bayesian hay thuậttoán Winnon
Với hệ tư vấn gợi ý hướng nội dung thì độ phức hợp giữau(c, s) được biểu diễn như sau:
u(c, s) = score(Content Profile (c), Content (s))
Trang 24Nếu biểu diễnContent_Profile(c) và Content(s) bằng vector
TF-IDF ⃗ w c và ⃗ w s của trọng số từ khoá và độ tương đồng
Với K là tập từ khóa trong hệ thống
Ngoài các kỹ thuật heuristic truyền thống thì hệ tư vấn gợi ýtiếp cận theo hướng nội dung cũng có thể dùng các thuậttoán phân lớp Bayesian, học máy, cây quyết định hay mạngneural nhân tạo, … Các thuật toán này không dựa trênheuristic mà dựa trên thống kê và kỹ thuật học máy Chẳnghạn như phân lớp Bayesian dựa trên xác suất xuất hiện củamột tài liệu nào đó có thuộc về lớp có liên quan (tươngđồng) hay không:
P(Ci) ∏
x P(kxj| Ci)với Ci: là lớp có liên quan hay không
kxj: tần suất xuất hiện của từ khoá kx trong tài liệu j
Trang 25 Kết luận:
Phương pháp tiếpcận hướng nội dung bị hạn chế bởi giớihạn những đặc tính liên quan đến đối tượng trong hệ tưvấn gợi ý Do đó, để có một tập đặc tính hữu ích thì hệthống phải tự động phân tích, trích lọc và gán cho đốitượng Tuy nhiên việc trích lọc này không dễ dàng trongmột số loại dữ liệu đa phương tiện như hình ảnh, âmthanh, phim,…
Một hạn chế nữa của cách tiếp cận này là nếu hai đốitượng khác nhau lại có chung tập đặc tính thì hệ thống sẽnhầm lẫn Hơn nữa cách tiếp cận này dựa trên tập từkhoá nên nếu được dùng chung các thuật ngữ thì khóđánh giá được đâu là tài liệu hay để gợi ý cho ngườidùng
Sự xuất hiện một thành viên mới trong một hệ thốngcũng có hạn chế trong tiếp cận này Bởi họ có quá ítthông tin để hệ thống có thể gợi ý chính xác các tài liệu
họ cần tìm
2.2.3 Phương pháp lọc cộng tác:
Khác với phương pháp dựa trên nội dung, hệ tư vấn gợi ýdựa trên phương pháp lọc cộng tác dự đoán độ thích hợp củamột đối tượng dựa trên sự lựa chọn đối tượng đó của nhữngngười dùng khác trước đó Cụ thể, độ thích hợp u (c,s) củađối tượng s đối với người dùng c được dự đoán dựa trên u(cj,s) của đối tượng s đối với những người dùng cj C có
sự quan tâm tương tự c
Trang 26Các thuật toán lọc cộng tác chia thành hai nhóm:
Memory_based (Heuristic_based) và Model_based (kỹ thuật
dựa trên mô hình) Thuật toán Memory_basedước lượng tỷ
lệ dựa trên toàn bộ tập các đối tượng đã được người dùnglựa chọn trước đó Sự lựa chọn r(c,s) của người dùng c vớiđối tượng s được tính bởi trị trung bình của tất cả các lựachọn đối tượng s của những người dùng khác:
c' ∈ ^Crc',s
với ^C là tập N người dùng có sự lựa chọn tương tự c và
quan tâm đến s Một số hàm trung bình:
Trang 27(rc,s =0 là các đối tượng s không được c lựa chọn)
Độ tương đồng sim(c,c’) của người dùng c và c’ là độ đokhoảng cách và được dùng như một trọng số Nếu ngườidùng c càng tương đồng với c’ thì trọng số lựa chọn r(c’, s)càng gần với r(c, s)
Thường độ tương đồng sim(c, c’) có hai cách tiếp cận phổ
biến là correlation_based và cosine_based Cách tiếp cận
correlation_based dựa theo công thức pearson:
|)
Trang 28Và độ tương đồng của được tính bởi cosine của góc giữa haivector này:
Sim (x, y )= cos ( ⃗x,⃗y ) = ⃗x⋅⃗y
Khác với phương pháp Memory_based, thuật toán
Model_based sử dụng tập các lựa chọn để làm mô hình học
và dự đoán các lựa chọn Một cách tiếp cận đó là sử dụng
mô hình xác suất để tính toán:
mô hình này được học từ dữ liệu Còn với mô hình mạng
Trang 29Bayesian thì mỗi đối tượng có thể là một nút trong mạngBayesian với trạng thái của mỗi nút phụ thuộc vào khả năngcủa đối tượng Cả hai cấu trúc mạng và xác suất điều kiệnđều được học từ dữ liệu Một giới hạn của cách tiếp cận này
là mỗi người dùng chỉ được phân vào một nhóm, trong khi
đó một vài hệ tư vấn gợi ý có thể thu được lợi ích từ khảnăng phân các người dùng vào nhiều phân loại cùng mộtlúc Chẳng hạn, người dùng có thể quan tâm đến vấn đề “cơ
sở dữ liệu” nhưng cũng có thể quan tâm đến lĩnh vực “nấuăn” hoàn toàn khác biệt với “cơ sở dữ liệu”
Các phương pháp lọc cộng tác trong lĩnh vực máy học vớinhiều kỹ thuật học máy khác nhau (như mạng neural nhântạo) kết hợp với kỹ thuật trích lọc đặc tính (như SVD - một
kỹ thuật đại số dùng ma trận giảm chiều) Một vài phân tích
cho thấy cách tiếp cận Model_Based đưa ra các gợi ý chính xác hơn phương pháp Memory_Based Tuy nhiên, đây chỉ là
các ý kiến dựa trên kinh nghiệm chứ không có một lý thuyếtnào khẳng định quan điểm này
Trong các hệ tư vấn gợi ý dựa trên phương pháp lọc cộngtác thì mô hình thống kê được đề xuất trong nhiều thuật toán
để ước đoán tham số mô hình như phân lớp k_means và lấymẫu Gibbs Các phương pháp lọc cộng tác khác như môhình Bayesian, mô hình liên hệ xác suất, mô hình đại số hồiquy và entropy cực đại Gần đây, có nhiều nghiên cứu các
mô hình tư vấn gợi ý sử dụng các mô hình xác suất phức tạpnhư mô hình ra quyết định Markov Hoặc các kỹ thuật môhình xác suất như: phân tích ngữ nghĩa tiềm ẩn dựa trên xác
Trang 30suất (PLSA – Probabilistic Latent Semantic Analysis) hoặcLDA (Latent Dirichlet Allocation) PLSA đưa ra mô hìnhlinh hoạt cho phép mô hình các lớp người dùng và đối tượngthành hai biến tiềm ẩn khác nhau.
Cách tiếp cận dựa trên nội dung khác biệt với kỹ thuật lọc
cộng tác dựa trên mô hình (Model_Based) là kỹ thuật không
dựa trên các luật heuristic mà dựa trên mô hình học từ dữliệu sử dụng kỹ thuật thống kê và học máy Một cách để cảithiện hiệu suất các thuật toán lọc cộng tác là đưa vào tập cácmối quan tâm của người dùng được lựa chọn cẩn thận sửdụng nhiều kỹ thuật để loại trừ nhiễu, dư thừa, sự thưa thớtcủa dữ liệu được chọn Theo kinh nghiệm cho thấy cách nàylàm tăng hiệu quả và độ chính xác của các thuật toán lọc
cộng tác Model_Based Kỹ thuật lựa chọn dữ liệu đầu vào cũng hỗ trợ thuật toán Model_Basedgiải quyết bài toán học
từ cơ sở dữ liệu lớn Đặc biệt, các kỹ thuật phát triển gầnđây nhất đề xuất:
(1)Dùng mô hình kết hợp sử dụng cách tiếp cận học tích cựcdựa trên mô hình thống kê các tham chiếu (lựa chọn) củatừng người dùng
(2) Dùng profile người dùng để xác định các gợi ý
Các hệ tư vấn lọc cộng tác không có các lỗi như hệ tư vấndựa trên nội dung Đặc biệt, khi hệ thống lọc cộng tác sửdụng các gợi ý của nhiều người dùng giải quyết bất cứ nộidung hay đối tượng nào, ngay cả những vấn đề không tương
Trang 31đồng trước đó Tuy nhiên, các hệ lọc cộng tác cũng gặp một
số giới hạn như sau:
- Cũng như các hệ thống dựa trên nội dung, hệ tư vấn lọccộng tác cũng phải đối diện với vấn đề người dùng mớikhi mà họ có quá ít lựa chọn để hệ thống xác định đượccác mối quan tâm của họ Có nhiều kỹ thuật để giảiquyết vấn đề này Một trong những cách tiếp cận đó là
dùng phương pháp lai (Hybrid Recommendation
Approach) kết hợp cả kỹ thuật hướng nội dung lẫn lọc
cộng tác
- Khi có một đối tượng được thêm vào hệ thống lọc cộngtác thì khó có một sự gợi ý chính xác do chưa đượcngười dùng lựa chọn Kỹ thuật lai cũng có thể giải quyếtvấn đề này
- Hệ tư vấn gợi ý dựa vào độ tương đồng giữa một ngườidùng với một nhóm người dùng phụ thuộc vào số ngườitham gia trong hệ thống và phân bố các lựa chọn củangười dùng Nếu các đối tượng chỉ được một số ít ngườilựa chọn thì dù có được đánh giá cao cũng không manglại lời gợi ý chính xác Vì vậy để giải quyết hạn chế nàythì cần mở rộng khái niệm đánh giá độ tương đồngkhông chỉ dựa trên sự lựa chọn của họ với các đối tượng
mà còn có thể tương đồng về giới tính, độ tuổi, nơi cưngụ, nghề nghiệp, văn hoá, sở thích,…
2.2.4 Các phương pháp lai (Hybrid Recommendation
Approach):
Trang 32Nhiều hệ tư vấn thực hiện phương pháp lai bằng cách kếthợp các phương pháp lọc cộng tác và kỹ thuật hướng nộidung nhằm tránh những hạn chế của hai kỹ thuật này Cáccách kết hợp khác nhau của hai kỹ thuật này được chiathành các dạng sau:
- Thực hiện riêng lẽ từng kỹ thuật và tổ hợp kết quả củahai kỹ thuật này với nhau
- Kết hợp một vài đặc trưng của kỹ thuật hướng nội dungtrong kỹ thuật lọc cộng tác
- Kết hợp một vài đặc trưng của kỹ thuật lọc cộng táctrong kỹ thuật hướng nội dung
- Xây dựng mô hình hợp nhất bao gồm các đặc trưng của
cả hai kỹ thuật hướng nội dung và lọc cộng tác chung vớinhau
Và các hệ thống này đều đang được nghiên cứu ứng dụngtrong các hệ tư vấn gợi ý
2.2.5 Kết luận:
Như đã nói ở trên, các hệ tư vấn gợi ý với nhiều kỹ thuậtđược dùng trong nhiều lĩnh vực khác nhau như: thống kê,máy học, tìm kiếm thông tin… đã mang lại nhiều kết quả tốttrong nhiều ứng dụng Tuy nhiên, cả hai phương pháphướng nội dung và lọc cộng tác có những giới hạn nhất địnhnhư đã nói ở trên Và để có một hệ tư vấn gợi ý tốt hơn cókhả năng ứng dụng trong các ứng dụng phức tạp hơn nhưcác dịch vụ tài chính thì các kỹ thuật này cần mở rộng hơn
Trang 33Có thể tóm tắt các kỹ thuật tư vấn gợi ý trong bảng sau:Các cách tiếp cận trong
- TF-IDF
- Clustering
Các kỹ thuật thường được dùng:
- Phân lớp Bayesian
- Clustering
- Cây quyết định
- Mạng neural nhân tạo
Kỹ thuật lọc cộng tác
(Collaborative)
Các kỹ thuật thường được dùng:
- Phần tử tương đồng(cosine,correlation)
- Clustering
- Lý thuyết đồ thị
Các kỹ thuật thường được dùng:
- Phân lớp Bayesian
- Clustering
- Hồi quy tuyến tính
- Mô hình xác suất
Kỹ thuật lai (Hybrid) Kết hợp kỹ thuật
hướng nội dung và lọc cộng tác:
- Kết hợp tuyến tính các sự quan tâm
- Xây dựng lược đồ
Kết hợp kỹ thuật hướng nội dung và lọc cộng tác:
- Kết hợp kỹ thuật
mô hình trong một phương pháp như
Trang 34bầu chọn
- Kết hợp kỹ thuật heuristic trong một phương pháp như
là một thành phần của phương pháp còn lại
là một thành phần của phương pháp còn lại
- Xây dựng mô hình hợp nhất hai
phương pháp
Bảng 2.1_ Các kỹ thuật phát triển hệ tư vấn gợi ý
Trang 352.3 Kỹ thuật đánh giá độ tương đồng giữa các tài liệu:
Học từ văn bản ngôn ngữ tự nhiên là một thách thức lớn của lĩnhvực thông minh nhân tạo và máy học Bài toán cơ bản là học nghĩa
và cách sử dụng của từ, nghĩa là, từ một ngữ liệu text có thể hiểuđược nghĩa cũng như tri thức mà nó chứa đựng bên dưới Và bàitoán cần giải quyết ở hai mức khác nhau của ngôn ngữ, đó là: Mức
từ vựng (cách đọc hay viết) và mức ngữ nghĩa (ý nghĩa được chứađựng bên trong đó) Có hai vấn đề cần giải quyết trong bài toán nàylà: từ đa nghĩa (có nhiều nghĩa và nhiều cách dùng khác nhau) và từđồng nghĩa (nhiều từ cùng biểu thị một nghĩa với các mức độ khácnhau trong cùng một đề tài)
Thực tế cho thấy không chỉ riêng trong vấn đề từ ngữ mới có sựgom nhóm để mô tả một vấn đề mà cả trong mọi lĩnh vực luôn cónhững đặc trưng riêng theo từng nhóm Và người ta đo được mỗithành viên trong một nhóm có thể đạt được một tỷ lệ nhất định trongnhững đặc trưng riêng này Tỷ lệ này chính là độ tương đồng củamột cá thể so với đặc trưng của nhóm Chẳng hạn, một chủ đề có thểđặc trưng bằng một tập từ khóa Hay một nhóm người cùng có sựquan tâm thì có thể đặc trưng bởi một số quan điểm hay một sốthuộc tính nào đó Ví dụ như: lấy giới tính làm đặc trưng để có thểchia thành các vấn đề quan tâm thì chúng ta cũng thường thấy chị
em phụ nữ thì quan tâm đến vấn đề mua sắm, còn cánh đàn ông thìquan tâm đến thể thao
Như đã đề cập, một chủ đề được đặc trưng bởi một họ từ (tập từkhóa) và chúng ta có thể tìm ra các tài liệu tương đồng nhau thôngqua việc thống kê tần suất xuất hiện của các từ khóa này trong các
Trang 36tài liệu có liên quan hoặc không Có nhiều cách tiếp cận để tìm ra sựtương đồng này.
2.3.1 Mô hình không gian vector (VSM_Vector Space Model)
Biểu diễn sự tương quan giữa các từ khóa và các tài liệuthông qua ma trận Gọi D là tập các tài liệu trong cơ sở dữliệu, ta có: D = {d1, d2, …, di, …, dI} Gọi W là tập từ khóacủa tài liệu, ta có: W = {w1, w2, …, wj, …, wJ}
Ta xây dựng ma trận tương quan giữa tài liệu và từ khóanhư sau:
Trang 37Phương cách để tính độ tương đồng giữa một tài liệu và các
từ khóa trong câu truy vấn (query) là thực hiện tính toán:
sim (d,q)= cos (∠ (⃗d,⃗q))= ⟨ ⃗d ,⃗q⟩
‖⃗d‖⋅‖⃗q‖
Với ⃗dlà vector biểu diễn tài liệu và ⃗q là vector biểu diễn
câu truy vấn Độ lớn của các vector này có thể dùng lược đồtrọng số, chẳng hạn như kỹ thuật TF-IDF
0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8
100.2 0.4 0.6 0.8 1
0.75 0.64
Hình 2.2_Mô hình biểu diễn độ tương đồng cosine giữa tài
liệu và câu truy vấn
Thực hiện sắp thứ tự các tài liệu theo độ tương đồng giữa tàiliệu và từ khóa trong câu truy vấn
Trang 38 Ưu điểm:
- Được xây dựng trên nền tảng hình học
- Chỉ số so sánh các từ khóa hoàn toàn khách quan
- Duyệt toàn bộ các tài liệu (trong cả trường hợpkhông có tài liệu nào chứa từ khóa trong câu truyvấn)
- Sắp thứ tự các tài liệu theo độ tương đồng trongtrường hợp kết quả trả về số lượng lớn các tài liệutương đồng
Khuyết điểm:
- Số chiều biểu diễn ma trận tương quan quá lớn (cóthể lên đến 100.000 chiều) gây khó khăn trong việcước đoán và dẫn đến chi phí lớn
- Các vector tài liệu biểu diễn thưa thớt Độ tươngđồng cosine có thể gây nhiễu và không chính xác
- Sự đối sánh các từ khóa chỉ ra sự tương đồng khicùng một thuật ngữ, không biểu diễn được các từ cóliên quan
2.3.2 Phân tích ngữ nghĩa tiềm ẩn (LSA_Latent Semantic
Analysis):
Một số vấn đề nhập nhằng liên quan đến xử lý ngôn ngữ tựnhiên:
- Từ đa nghĩa: Một số từ có nhiều nghĩa khi được sử
dụng trong các tình huống khác nhau Mô hình
Trang 39không gian vector không phân biệt được các nghĩakhác nhau của một từ Lúc này:
sim (d , q) < cos ( ∠ ( ⃗d , ⃗q ) )
- Từ đồng nghĩa: Ngược lại có nhiều từ khác nhau lại
có cùng một nghĩa Và trong trường hợp này môhình không gian vector cũng không biểu diễn được
sự liên quan giữa các từ này với nhau Do đó:
sim (d , q) > cos ( ∠ ( ⃗d , ⃗q ) )
Một kỹ thuật giảm thiểu những nhược điểm trên của môhình không gian vector là phân tích ngữ nghĩa tiềm ẩn(LSA_ Latent Semantic Analysis) Ý tưởng của kỹ thuật này
là một vấn đề có thể biểu diễn bởi một tập từ khóa Nhưngthực nghiệm cho thấy một số từ khóa lại được lặp lại trongnhiều trường hợp do ngữ nghĩa có liên quan hoặc cách biểudiễn khác nhau Từ đó đưa ra xây dựng cách biểu diễn ánh
xạ các từ khóa và tài liệu trên ma trận với số chiều ít hơnsao cho phản ánh được ngữ nghĩa có liên quan Và thực hiệntính tích nội trên không gian ngữ nghĩa được biểu diễn.Mục tiêu của kỹ thuật này là các thuật ngữ có ngữ nghĩa gầnvới nhau thì được gom lại một chỗ nhằm giảm số chiều trên
ma trận tương quan đồng thời cũng giảm độ nhiễu khi tính
độ tương đồng
Kỹ thuật LSA dùng là giảm chiều ma trận tương quan giữa
từ khóa và tài liệu bằng cách sử dụng thuật toán SVD
Trang 40(Singular Value Decomposition) Ta có mỗi phần tử trong
ma trận tương quan được biểu diễn như sau:
C = ( cij) , cij = c ( di , wj)
Ma trận C theo toán học có thể viết:
C=UΣV t ≈U ^Σ V t = ^C
Với C ^ là ma trận được giảm chiều từ ma trận C
Hình 2.3_Mô hình ma trận giảm chiềuTrong đó, là ma trận đường chéo các giá trị riêng đượcsắp thứ tự giảm dần Vấn đề được đặt ra là giá trị ngưỡng kcần xác định là bao nhiêu thì tốt nhất Nếu chọn k quá nhỏthì việc tính toán sẽ nhanh nhưng có thể độ chính xác khôngcao Nếu chọn k quá lớn thì độ phức tạp bài toán cao và dưthừa Việc xác định k thế nào là hợp lý thì phải dựa vào thựcnghiệm cho từng vấn đề riêng