Tải bản đầy đủ (.docx) (90 trang)

xây dựng hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.03 MB, 90 trang )

LỜI CẢM ƠN
Đầu tiên, tôi xin được gửi lời cám ơn đến giáo viên hướng dẫn: TS Lê Thanh
Hươ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 Tin
trườ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ận
văn này
Tp. Hồ Chí Minh, tháng 03/2010.


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

2

Hướng dẫn khoa học: TS. Lê Thanh Hương

MỤC LỤC

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

3


Hướng dẫn khoa học: TS. Lê Thanh Hương

DANH 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

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

Hình 3.11_Giao diện quản lý tài liệu.


Học viên thực hiện: Nguyễn Thị Khiêm Hòa

4

Hướng dẫn khoa học: TS. Lê Thanh Hương


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

5

Hướng dẫn khoa học: TS. Lê Thanh Hương

DANH 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

Học viên thực hiện: Nguyễn Thị Khiêm Hòa



Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

6

Hướng dẫn khoa học: TS. Lê Thanh Hương

CÁ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

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

7

Hướng dẫn khoa học: TS. Lê Thanh Hương

LỜ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ều

khía cạnh trong cuộc sống: thay đổi cách chúng ta giao tiếp, làm việc, mua
sắm, giải trí… Tuy nhiên, một lượng thông tin dư thừa từ các nguồn khác
nhau như việc tự động sao lưu hệ thống, việc sao chép nội dung từ nhiều trang
web 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ông
tin 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ời
dù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ững
thô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ăn
cho 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ách
việ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 trang
web. 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

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

8


Hướng dẫn khoa học: TS. Lê Thanh Hương

trư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ưng
cho 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úp
chú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ành
cá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 ra
nhữ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ững
thá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ười
dù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ợp
phâ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.

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

9

Hướng dẫn khoa học: TS. Lê Thanh Hương

Vớ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ỏi
nhữ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ện
Nguyễn Thị Khiêm Hòa

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

10


Hướng dẫn khoa học: TS. Lê Thanh Hương

Chươ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áy
tí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ác
phục vụ cho việc nghiên cứu, tôi chọn đề tài “xây dựng hệ thống tư vấn
gợi ý tìm kiếm thông tin”. Nhằm nghiên cứu và tìm hiểu các phương
phá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ích
nhữ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ục
tiê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

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

11

Hướng dẫn khoa học: TS. Lê Thanh Hương

tà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ựng
lại toàn bộ cấu trúc hệ thống web. Cách thứ hai, là xây dựng các
phươ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ứu
cách tiếp cận phân tích độ tương đồng ngữ nghĩa giữa các tập tài liệu
dựa trên rút trích và thống kê. Đồng thời, cũng nghiên cứu kỹ thuật
phâ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ứng
minh 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ác
hoạ như sau:
- Người dùng có thể đăng nhập hệ thống hoặc không. Với người
dùng có đăng ký tài khoản trên hệ thống thì hệ thống sẽ tạo ra một
profile lưu trữ thông tin người dùng và được cập nhật sau các
phiê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ủa
người dùng để cho kết quả phù hợp hơn.

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

12

Hướng dẫn khoa học: TS. Lê Thanh Hương

- Hệ thống cho phép người dùng tìm kiếm theo từ khoá. Những tài
liệu được chọn đọc sẽ được dùng để tự động tìm kiếm những tài
liệu khác có nội dụng liên quan, kết hợp vấn đề người dùng quan
tâ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
Client Browser
Nhập câu tìm kiếm

Trang tìm kiếm


Trang hiển thị kết quả tìm kiếm
Trang chi tiết nội dung tài liệu
Danh sách tài liệu
Các tài liệu gợi ý theo nội dung và sự quan tâm

user

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
Cậpkiếm.
nhật tần suất được chọn của tài liệu.
Tìm kiếm theo từ khoá
Tìm kiếm tài liệu tương đồng nội dung và sự quan tâm của user.

Server

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

13


Hướng dẫn khoa học: TS. Lê Thanh Hương

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ìm
kiếm.
Tài liệu

Phâ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

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 đi
rất nhiều. Nội dung của tài liệu được cô đọng bởi những từ khoá được
xếp hạng. Từ khoá có tần suất xuất hiện càng cao càng đặc trưng cho
nộ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ào
thống kê và tập từ khoá đặc trưng để đánh giá độ tương đồng về nội
dung 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àm
việc của người dùng) để đưa ra những kết quả tìm kiếm phù hợp hơn.

Học viên thực hiện: Nguyễn Thị Khiêm Hòa



Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

2.2.

14

Hướng dẫn khoa học: TS. Lê Thanh Hương

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ải
vector 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ểm
riê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ảng
trắ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 dung
hơ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ủa
ngườ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ại

nhữ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ên
cứ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ìm
kiếm của người dùng nhanh và chính xác.

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

15

Hướng dẫn khoa học: TS. Lê Thanh Hương

- Hệ tư vấn gợi ý (RS_Recommender system) và các kỹ thuật phát
triển.
- Phân tích các đánh giá của cộng đồng người dùng đối với các đối
tượng tìm kiếm trên hệ thống, cách thức lưu trữ thông tin người
dù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ển
sau:
- Visual studio 2005.
- Xây dựng website với ASP.Net và C#.

Học viên thực hiện: Nguyễn Thị Khiêm Hòa



Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

16

Hướng dẫn khoa học: TS. Lê Thanh Hương

Chươ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 đối
tượ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 ra
tậ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.
3. Tìm hiểu các kỹ thuật phát triển:
3.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ếng
Việ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àn
thiệ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ếng
nước ngoài…
- Chương trình kiểm lỗi tiếng Việt, chuyển bảng mã, … Vietspell

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

17

Hướng dẫn khoa học: TS. Lê Thanh Hương

- Các phần mềm được việt hoá như Windows và Microsoft Office
Các phần mềm trên ít nhiều cũng cho thấy nhu cầu sử dụng tiếng
Việ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ếng
Việ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ụng
thân thiện, góp phần trong việc phát triển nghiên cứu khoa học của
nước nhà.
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 ứng
dụ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ôn
ngữ.

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

2

18

Hướng dẫn khoa học: TS. Lê Thanh Hương

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ựa
trên từ điển và các thuật toán kết hợp sao cho các từ được
tá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ội

dung (stopword). Cuối cùng, dùng kỹ thuật TF-IDF để rút
trích được tập từ khoá của tài liệu.
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 cho
cá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ện
nay cũng đã có khá nhiều công cụ tách từ đạt được độ chính
xác cao như: Vntonkenizer (96%). Tuy nhiên, do không tập
trung 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ủa
tài liệu.

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

3.2.

19

Hướng dẫn khoa học: TS. Lê Thanh Hương

Kỹ thuật phát triển hệ tư vấn gợi ý (Recommender System)
4

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ựa
trên những đặc trưng của đối tượng nhằm gợi ý cho người
dù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ác
thông tin lựa chọn của họ. Từ đó ước đoán tỷ lệ của các đối
tượng không được chọn và gợi ý cho người dùng các đối
tượ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ười
dù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ỗi
người dùng c ∈ C, ta chọn được đối tượng s’∈ S là giá trị
được ưa thích nhất:

∀ c ∈ C , s' c = arg max u (c, s )
s∈S

Ta cũng nhận thấy độ phức tạp của bài toán rất cao do
không gian của S và C là rất lớn.

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu


20

Hướng dẫn khoa học: TS. Lê Thanh Hương

Trong hệ tư vấn gợi ý, độ thích hợp của một đối tượng đối
với một người dùng được biểu diễn bởi một tỷ lệ hoặc một
hàm tuỳ ý. Tuỳ vào ứng dụng, độ thích hợp này dựa vào đặc
trư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ông
tìm trên toàn bộ không gian c × s mà chỉ tìm trên tập con
của không gian này, nghĩa là, u được ngoại suy từ không
gian c × s. Trong hệ tư vấn gợi ý, độ thích hợp được biểu
diễn bởi việc ước lượng dựa trên sự lựa chọn của người
dù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 được
chọ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.
5
Phương pháp dựa trên nội dung (Content_based

Methods)

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

21

Hướng dẫn khoa học: TS. Lê Thanh Hương

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
gợi ý dựa trên nội dung bắt nguồn từ việc tìm kiếm và lọc
thô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ặc
dự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á k i
trong tài liệu dj có thể xác định đượctrọng số wij với nhiều
cá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

(term

frequency/inverse document frequency). Gọi N là số tài liệu
có thể được gợi ý và n i là số tài liệu có xuất hiện từ khoá k i.
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á k j trong tài liệu dj. Ta
có:

TFij =

fij

max f
z

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á k z trong tài
liệu dj.

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

22

Hướng dẫn khoa học: TS. Lê Thanh Hương

Tuy nhiên một số từ khoá cùng xuất hiện trong nhiều tài
liệu. Do đó, tần suất thuật ngữ không giúp cho việc phân
biệt giữa các tài liệu có liên quan hoặc không. Vì vậy, cần
tính tần suất đảo để hỗ trợ cho TFij. Công thức tần suất đảo
của tài liệu được tính như sau:

IDFi = log

N

n

i

Trọng số TF-IDF của từ khoá ki trong tài liệu dj được tính
như sau:
Wij = TFij× IDFi
Từ đó, nội dung của tài liệu dj được tính như sau:

Content (dj) = (w1j,w2j,…,wkj).
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) = {wc1, wc2, …, wck}
trong đó wci là mức độ “quan trọng” của từ khoá k i đố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ùng
không gian xác suất để phân lớp như Bayesian hay thuật
toán Winnon.
Với hệ tư vấn gợi ý hướng nội dung thì độ phức hợp giữa
u(c, s) được biểu diễn như sau:

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

23

Hướng dẫn khoa học: TS. Lê Thanh Hương

u(c, s) = score(Content Profile (c), Content (s))
Nếu biểu diễnContent_Profile(c) và Content(s) bằng vector

TF-IDF

wc




ws

của trọng số từ khoá và độ tương đồng

cosine thì:

u (c, s ) = cos(wc , ws ) =

wc ⋅ ws
2

wc × ws

∑ w ⋅w
∑ w ⋅ ∑

2

K

=

i =1

K

i =1


2
ic

ic

is
K

2
w
is
i =1

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ật
toán phân lớp Bayesian, học máy, cây quyết định hay mạng
neural nhân tạo, … Các thuật toán này không dựa trên
heuristic mà dựa trên thống kê và kỹ thuật học máy. Chẳng
hạn như phân lớp Bayesian dựa trên xác suất xuất hiện của
một tài liệu nào đó có thuộc về lớp có liên quan (tương
đồng) hay không:

P(C i ) ∏ P (k xj C i )
x

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.

Học viên thực hiện: Nguyễn Thị Khiêm Hòa



Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

24

Hướng dẫn khoa học: TS. Lê Thanh Hương

 Kết luận:
Phương pháp tiếpcận hướng nội dung bị hạn chế bởi giới
hạ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 đối
tượng. Tuy nhiên việc trích lọc này không dễ dàng trong
một số loại dữ liệu đa phương tiện như hình ảnh, âm
thanh, phim,…
Một hạn chế nữa của cách tiếp cận này là nếu hai đối
tượ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ười
dùng.
Sự xuất hiện một thành viên mới trong một hệ thống
cũng có hạn chế trong tiếp cận này. Bởi họ có quá ít
thông tin để hệ thống có thể gợi ý chính xác các tài liệu
họ cần tìm.
6

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ủa
một đối tượng dựa trên sự lựa chọn đối tượng đó của những
ngườ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 c j ∈ C có sự
quan tâm tương tự c.

Học viên thực hiện: Nguyễn Thị Khiêm Hòa


Hệ tư vấn gợi ý tìm kiếm tài liệu nghiên cứu

25

Hướng dẫn khoa học: TS. Lê Thanh Hương

Cá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ùng
lự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ựa
chọn đối tượng s của những người dùng khác:

rc , s = aggr rc ', s
c '∈Cˆ

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:


rc , s =
(a)

(b)

(c)

1
N

∑r

c '∈Cˆ

c ', s

rc , s = k ∑ sim (c, c' ) × r c ', s
c '∈Cˆ

rc , s = rc + k ∑ sim (c, c' ) × (r c ', s − r c ')
c '∈Cˆ

Trong đó, k là hệ số chuẩn hoá được tính theo công thức:

K=

1
∑c '∈Cˆ | sim (c, c' ) |


Và tỷ lệ trung bình của người dùng c trong (c) được tính:

 1 
 ∑ rc , s
rc = 

 S c  s∈Sc
Học viên thực hiện: Nguyễn Thị Khiêm Hòa

với Sc = {s∈ S | rc,s ≠ 0}


×