Tải bản đầy đủ (.pdf) (64 trang)

Áp dụng thuật toán k lân cận để xây dựng cơ chế tư vấn tin tức

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 (2.58 MB, 64 trang )

ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KINH TẾ
KHOA HỆ THỐNG THÔNG TIN KINH TẾ


tế

H

uế

KHÓA LUẬN TỐT NGHIỆP

Ki

nh

ĐỀ TÀI

ÁP DỤNG THUẬT TOÁN K LÂN CẬN

Đ

ại

họ

c

ĐỂ XÂY DỰNG CƠ CHẾ TƯ VẤN TIN TỨC


Sinh viên thực hiện:

Giáo viên hướng dẫn:

NGÔ MINH NHẬT

TS. NGUYỄN ĐÌNH HOA CƯƠNG

Lớp: K47 Tin Học Kinh Tế
Niên khóa: 2013-2017

Huế, 2017


LỜI CÁM ƠN
Lời đầu tiên, em xin chân thành gửi lời cám ơn đến toàn thể giáo viên của Khoa Hệ
Thống Thông Tin Kinh Tế - Đại học Kinh Tế Huế đã dạy dỗ, truyền đạt những kiến thức,
kinh nghiệm quý báu để làm cơ sở cho bài khóa luận này.
Và em cũng xin gửi lời cám ơn chân thành và sâu sắc nhất đến Tiến sĩ Nguyễn
Đình Hoa Cương, người thầy đã nhiệt tình hướng dẫn, quan tâm giúp đỡ em hoàn thành
bài khóa luận này một cách tốt nhất.
Em cũng xin gửi lời cám ơn tới các anh chị, bạn bè, gia đình đã giúp đỡ, động viên,

uế

tạo điều kiện thuận lợi cho em trong suốt quá trình thực hiện và hoàn thành bài khóa luận.

H

Mặc dù đã cố gắng để thực hiện bài khóa luận một cách tốt nhất, nhưng với vốn

kiến thức và kinh nghiệm còn ít của bản thân, nên sẽ rất khó tránh khỏi thiếu sót, mong

Đ

ại

họ

nh

c

Ki

Em xin chân thành cảm ơn !

tế

quý thầy cô có thể đóng góp ý kiến, bổ sung để em có thể hoàn thành tốt hơn.
Huế, Tháng 5 năm 2017


MỤC LỤC
PHẦN I : MỞ ĐẦU .............................................................................................................. 1
1. Lý do chọn đề tài: .......................................................................................................... 1
2. Mục tiêu, nhiệm vụ, đối tượng và phạm vi nghiên cứu: ............................................... 2
2.1 Mục tiêu: .................................................................................................................. 2
2.2 Nhiệm vụ: ................................................................................................................. 2
2.3 Đối tượng và phạm vi nghiên cứu: .......................................................................... 2
3. Phương pháp nghiên cứu: ............................................................................................. 3


uế

4. Nội dung đề tài: ............................................................................................................. 3
PHẦN 2 : NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU ...................................................... 4

H

CHƯƠNG 1: CƠ SỞ LÝ LUẬN.......................................................................................... 4

tế

1. Tổng quan về thuật toán K-NN ................................................................................. 4
1.1 Khái niệm thuật toán K-NN: .................................................................................... 4

nh

1.2 Lịch sử ra đời thuật toán K-NN:.............................................................................. 4
1.3 Nội dung thuật toán K-NN:...................................................................................... 5

Ki

1.3.1 Ưu điểm của phương pháp K-NN: .................................................................... 6

c

1.3.2 Nhược điểm của phương pháp K-NN:............................................................... 7

họ


1.4 Ví dụ đơn giản về K-NN: ......................................................................................... 7
2. Công thức tính TF-IDF: ............................................................................................. 8

ại

2.1 Khái niệm: ............................................................................................................... 8

Đ

2.2 TF: ........................................................................................................................... 9
2.3 IDF: ......................................................................................................................... 9
2.4. TF-IDF: ................................................................................................................ 10
2.5 Ưu nhược điểm của TF-IDF:................................................................................. 10
3 Các công thức tính khoảng cách:.............................................................................. 11
3.1 Công thức tính khoảng cách euclid (metric hoặc metric Pytago ):....................... 11
3.2 Khoảng cách Manhettan: ...................................................................................... 12
4. Hệ tư vấn .................................................................................................................... 13
4.1 Lọc thông tin: ......................................................................................................... 13


4.2 Khái niệm hệ tư vấn:.............................................................................................. 13
4.3 Hướng tiếp cận của phương pháp lọc: .................................................................. 15
4.3.1 Phương pháp lọc dựa vào bộ nhớ: .................................................................. 15
4.3.2 Phương pháp lọc dựa vào mô hình: ................................................................ 15
4.4 Phương pháp lọc .................................................................................................... 15
4.4.1 Phương pháp lọc dựa trên nội dung : ............................................................. 15
4.4.1.1 Phát biểu bài toán lọc dựa trên nội dung: ................................................ 16
4.4.1.2 Phương pháp Lọc nội dung dựa vào bộ nhớ : .......................................... 17
4.4.1.3 Phương pháp lọc nội dung dựa vào mô hình : ......................................... 17


uế

4.4.1.4 Điểm yếu của phương pháp lọc theo nội dung : ....................................... 17

H

4.4.2 Phương pháp lọc cộng tác: ............................................................................. 18
4.4.2.1 Phát biểu bài toán lọc dựa trên cộng tác: ................................................ 18

tế

4.4.2.2 Phương pháp lọc cộng tác dựa vào bộ nhớ: ............................................. 19

nh

4.4.2.3 Phương pháp lọc cộng tác dựa vào mô hình: ........................................... 19
4.4.3 Phương pháp lọc kết hợp : .............................................................................. 19

Ki

5. Các công trình liên quan. ......................................................................................... 20
CHƯƠNG 2 : CÀI ĐẶT THUẬT TOÁN K-NN ĐỂ XÂY DỰNG .................................. 24

họ

c

CƠ CHẾ TƯ VẤN THÔNG TIN ....................................................................................... 24
1. Xác định K văn bản ( đối tượng ) cần phân loại: ........................................................ 25


ại

2. Đọc nội dung văn bản. ................................................................................................ 26

Đ

3. Tính giá trị TF-IDF. .................................................................................................... 26
4. Tính khoảng cách từ văn bản cần phân loại đến toàn bộ văn bản khác: ..................... 28
5. Lấy ra K văn bản để đưa ra tư vấn .............................................................................. 29
CHƯƠNG 3 : XÂY DỰNG THÍ NGHIỆM ...................................................................... 38
1. Người dùng 1............................................................................................................... 38
2. Người dùng 2............................................................................................................... 43
3. Người dùng 3............................................................................................................... 47
PHẦN 3 : KẾT LUẬN VÀ KIẾN NGHỊ ........................................................................... 53
TÀI LIỆU THAM KHẢO .................................................................................................. 54


DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU

Từ đầy đủ

K-NN

K-nearest neighbor

TF

Term frequency

IDF


Inverse document frequency

TF-IDF

Term frequency – inverse document frequency

SS

Semantic Similarity

SF

Synset frequency

Đ

ại

họ

c

Ki

nh

tế

H


uế

Từ viết tắt


DANH MỤC CÁC SƠ ĐỒ, HÌNH ẢNH
Hình 1: Lưu đồ thuật toán của thuật toán K-NN .................................................................. 6
Hình 2 : Mô tả phương pháp K-NN ( Wikipedia 2007 ) ...................................................... 7
Hình 3: Mô tả về khoảng cách Euclid và khoảng cách Manhattan (Wikipedia 2007). ...... 13
Hình 4: Mô tả cách thức hoạt động của hệ tư vấn (easyrec.org 2015). .............................. 14
Hình 5: Mô tả phương pháp lọc dựa trên nội dụng (ongxuanhong.wordpress.com 2015).17
Hình 6: Mô tả phương pháp lọc cộng tác ........................................................................... 19

Đ

ại

họ

c

Ki

nh

tế

H


uế

Hình 7: Lưu đồ thuật toán của phương pháp K-NN. .......................................................... 24


DANH MỤC CÁC BIỂU ĐỒ
Biểu đồ 1 : Sơ đồ minh họa phát biểu của Zipf’s law (viblo 2016). .................................... 8
Biểu đồ 2: Độ chính xác khi lựa chọn 5 bài viết ................................................................ 51

Đ

ại

họ

c

Ki

nh

tế

H

uế

Biểu đồ 3: Độ chính xác khi lựa chọn 10 bài viết .............................................................. 51



DANH MỤC CÁC BẢNG
Bảng 1: So sánh kết quả người dùng 1 với chương trình ................................................... 38
Bảng 2: So sánh kết quả người dùng 1 với chương trình ................................................... 40
Bảng 3: So sánh kết quả người dùng 1 với chương trình ................................................... 41
Bảng 4: So sánh kết quả người dùng 1 với chương trình ................................................... 42
Bảng 5: So sánh kết quả người dùng 2 với chương trình ................................................... 43
Bảng 6: So sánh kết quả người dùng 2 với chương trình ................................................... 44
Bảng 7: So sánh kết quả người dùng 2 với chương trình ................................................... 45

uế

Bảng 8: So sánh kết quả người dùng 2 với chương trình ................................................... 46

H

Bảng 9: So sánh kết quả người dùng 3 với chương trình ................................................... 47
Bảng 10: So sánh kết quả người dùng 3 với chương trình ................................................. 48

tế

Bảng 11: So sánh kết quả người dùng 3 với chương trình ................................................. 49

Đ

ại

họ

c


Ki

nh

Bảng 12: So sánh kết quả người dùng 3 với chương trình ................................................. 50


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

PHẦN I : MỞ ĐẦU
1. Lý do chọn đề tài:
Trong thời đại ngày nay, cuộc sống đang phát triển không ngừng, thời gian làm
việc nhiều, con người bị cuốn theo tốc độ phát triển nhanh, thời gian rảnh để nghỉ ngơi ít
đi, việc theo dõi, tìm kiếm thông tin bị gián đoạn do hạn chế về thời gian, nên còn ít
người đọc báo giấy, mọi người chuyển sang báo mạng, đọc trực tuyến để tiết kiệm thời
gian và nhanh chóng tìm được thông tin liên quan cần thiết.
Nhưng với việc bùng nổ của thời đại số, việc quá tải thông tin là chuyện xảy ra

uế

thường xuyên với tất cả mọi người. Việc lựa chọn thông tin hữu ích của người dùng máy

H

tính online sẽ gặp khó khăn nghiêm trọng, bởi sự gia tăng không ngừng của lượng thông
tin khổng lồ đến từ hàng nghìn hàng triệu trang báo mạng, sách, tạp chí, tài liệu, tranh

tế


ảnh, video, nhạc, kênh truyền hình . . . được cập nhập liên tục hàng ngày hàng giờ.

nh

Từ đó, để giúp con người thuận tiện hơn trong việc đọc báo trực tuyến không bị
quá tải thông tin, tìm được các thông tin quan tâm, nhiều phương pháp và công nghệ ra

Ki

đời để giải quyết vấn đề này. Đó là lọc thông tin, rồi tư vấn cho người dùng, loại bỏ các

c

thông tin không phù hợp và giới thiệu các thông tin thích hợp với từng đối tượng cụ thể.

họ

Việc lọc thông tin trước hết phải Phân Loại Thông Tin từ đó mới có thể lọc được. Đó
cũng là việc quan trọng nhất. Các thông tin được phân loại theo các nội dung, các thông

ại

tin tương tự hoặc giống nhau được xếp cùng một lớp. Từ đó có thể dễ dàng lọc các thông

Đ

tin hữu ích với đối tượng sử dụng. Có nhiều phương pháp để phân loại thông tin [1] như
phân loại với cây quyết định [33], phân loại với mạng Bayesian [29], phân loại với mạng
neural [34], phân loại với k phần tử lân cận gần nhất [3] [4], phân loại với suy diễn dựa

trên tình huống [35], phân loại với lý thuyết tập mờ [36] nhưng phương pháp phổ biến
nhất là phân loại với k phần tử lân cận gần nhất, với độ chính xác cao mà dễ dàng học, kỹ
thuật cơ bản và sử dụng trực quan nhất.
Với những lý do đó, em đã chọn đề tài “ÁP DỤNG THUẬT TOÁN K - LÂN CẬN
ĐỂ XÂY DỰNG CƠ CHẾ TƯ VẤN TIN TỨC ” để nghiên cứu.

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

1


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

2. Mục tiêu, nhiệm vụ, đối tượng và phạm vi nghiên cứu:
2.1 Mục tiêu:
- Mục tiêu tổng quát:
Áp dụng thành công thuật toán phân loại K-NN vào phân loại thông tin để từ đó
đưa ra tư vấn thông tin cho người sử dụng, kiểm tra độ chính xác của thuật toán.
- Mục tiêu cụ thể :
• Nghiên cứu cơ sở lý luận về thuật toán K-NN như lịch sử, tư tưởng, cách thực
hiện, các công thức như TF-IDF, khoảng cách Euclid, hệ tư vấn thông tin.

H

• Tiến hành kiểm tra độ chính xác của thuật toán.

uế


• Nghiên cứu cách cài đặt thuật toán K-NN bằng ngôn ngữ Java.

tế

2.2 Nhiệm vụ:
Về lý thuyết:

nh

• Tìm hiểu về lọc thông tin, tư vấn tin tức.

Ki

• Tìm hiểu về các phương pháp phân loại.
• Tìm hiểu về thuật toán K-NN.

c

• Tìm hiểu cách tính trọng số TF-IDF.

ại

Về thực tiễn:

họ

• Tìm hiểu các công thức tính khoảng cách (Euclid, Manhettan).

Đ


• Xây dựng công thức tính TF-IDF.
• Xây dựng công thức tính khoảng cách.
• Xây dựng thuật toán K-NN dựa trên công thức tính TF-IDF và công thức tính
khoảng cách.
• Từ đó xây dựng phần mềm thử nghiệm.
2.3 Đối tượng và phạm vi nghiên cứu:
• Đối tượng nghiên cứu: Thuật toán K-NN được áp dụng vào trong hệ tư vấn thông
qua nội dung của thông tin.

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

2


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

• Phạm vi nghiêm cứu: Phạm vi nghiên cứu của đề tài bao gồm thuật toán K - NN,
cách tính TF-IDF, công thức khoảng cách Euclid, hệ tư vấn, cách áp dụng thuật
toán K- NN vào hệ tư vấn thông tin.
3. Phương pháp nghiên cứu:
Phương pháp nghiên cứu tài liệu: Tìm kiếm, tham khảo, nghiên cứu các tài liệu có
liên quan đến đề tài, từ đó hiểu biết đầy đủ rõ ràng về đối tượng nghiên cứu. Biết được
các khái niệm, cách thức sử dụng, ưu nhược điểm.
Phương pháp so sánh: Sử dụng các chỉ tiêu như ưu nhược điểm để so sánh với các

uế

phương pháp phân loại khác.


H

Phương pháp phân tích, đánh giá: Thông qua quan sát các phần mềm, các kết quả
tiết, cụ thể, từ đó hoàn thiện khóa luận.

tế

đạt được của thế giới từ đó sàng lọc những kiến thức cần thiết để bổ sung một cách chi

nh

Phương pháp tổng hợp: Dựa trên tất cả kiến thức cơ bản đã học được trong quá
trình học tập ở trường, học được từ mọi người, qua sách vở, kiến thức thực tế khi đi thực

Ki

tập nghề nghiệp, từ đó tổng hợp lại kiến thức có ích cho việc nghiên cứu.

c

4. Nội dung đề tài:

họ

Bài khóa luận này tập trung vào thuật toán K-NN để tính độ tương tự giữa các văn
bản, rồi từ đó đưa ra tư vấn cho người sử dụng.

ại


Nội dung khóa luận gồm có 3 chương:

Đ

+ Chương 1 : Cơ sở lý luận.

Chương này sẽ giới thiệu về khái niệm, chức năng, cách sử dụng thuật toán K-NN,
các công thức tính toán liên quan như TF-IDF, khoảng cách Euclid và hệ tư vấn.
+ Chương 2 : Xây dựng thuật toán K-NN để áp dụng vào hệ tư vấn.
Chương này sẽ bắt đầu giới thiệu cách thức cài đặt cho thuật toán, hoàn thiện phần
mềm, chạy phần mềm.
+ Chương 3: Xây dựng thí nghiệm.
Chương này sẽ kiểm tra độ chính xác, thực tiễn của phương pháp từ đó đưa ra kết
quả, nhận xét.

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

3


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

PHẦN 2 : NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
CHƯƠNG 1: CƠ SỞ LÝ LUẬN
1. Tổng quan về thuật toán K-NN
1.1 Khái niệm thuật toán K-NN:
“Hãy cho tôi biết bạn của bạn là ai, tôi sẽ cho bạn biết bạn là người như thế nào.”
Danh ngôn dân gian.

Đó là một câu danh ngôn phổ biến, để dự đoán một người ta dựa vào bạn bè, người
thân xung quanh họ, tương tự thuật toán K-NN cũng có ý tưởng như vậy, từ đó ta có thể

uế

phát biểu về thuật toán K-NN như sau:

H

Thuật toán K-NN (K-Nearest Neighbors nghĩa là K-hàng xóm gần nhất) [2] [3] [4]

tế

[5] là một trong những thuật toán học có giám sát [6] [7] căn bản nhất, đơn giản nhất,
trực quan nhất dùng để phân loại dữ liệu, thuật toán này dùng để phân loại một đối tượng

nh

dựa vào các đối tượng hoặc lớp trong tập tham chiếu xung quanh, đối tượng sẽ được phân

Ki

loại cùng với đối tượng hoặc lớp có nhiều nét tương đồng nhất. Thuật toán này không cần
học hỏi từ dữ liệu cũ.

c

1.2 Lịch sử ra đời thuật toán K-NN:

họ


K-NN là một phương pháp đơn giản nên từ rất sớm đã được đề cập đến, người
đầu tiên là nhà khoa học Ibn al-Haytham (965-1040) [9]. Trong lĩnh vực quang học và

ại

nhận thức, K-NN được nhắc đến trong cuốn sách của ông - Lý thuyết nhận thức thị giác

Đ

của Alhacen, dưới những nguyên tắc:
“Các cá thể của một loài nào đó sẽ giống hệt nhau, các cá thể khác nhau theo
các đặc điểm riêng biệt có thể nhận biết bằng mắt”.
Quan điểm này giống như là hỗn hợp của K-NN và quy tắc trung bình gần nhất,
khi xác định các dạng phổ quát.
Tuy nhiên đây chỉ là nguyên tắc, đến thế kỉ XIV, những nguyên lý cơ bản của KNN được Ockham đưa ra “chọn giả thuyết với ít giả thuyết nhất”. Có thể hiểu đây là luật

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

4


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

của K-NN cho các thuộc tính định danh, tuy nhiên Ockham nhấn mạnh đây chỉ là các xây
dựng trên ý tưởng chứ không phải xây dựng trên các dạng quan sát [9].
Mãi đến một thời gian rất lâu sau này, thuật toán K-NN lần đầu tiền được đề xuất
và công bố rõ ràng, đầy đủ vào năm 1951 bởi Fix và Hodges [8] [9], đây là thuật toán lâu

đời và đơn giản của thuật toán mô hình phân loại. Từ nhu cầu xác định một ẩn số mà
không biết hoặc khó xác định các tham số của nó, phương pháp này được xây dựng lên để
xử lý vấn đề này.
Đến năm 1962 thì được Sebestyen gọi là Thuật toán gần gũi [9]. Năm 1965 thì

uế

được gọi là Phân loại khoảng cách tối thiểu bởi Cover và Hart [9].

H

Tuy nhiên chính xác và phổ biến vẫn là của Fix và Hodges.
1.3 Nội dung thuật toán K-NN:

tế

Thuật toán K-NN dùng để phân loại một đối tượng dựa vào độ tương tự với K đối

nh

tượng xung quanh trong một tập tham chiếu. K là số nguyên dương được chọn trước khi
tính toán. Với thuật toán này ta có 5 bước để thực hiện [4]:

Ki

 Bước 1 : Xác định giá trị tham số K (số láng giềng gần nhất).

c

 Bước 2 : Tính khoảng cách giữa đối tượng cần phân lớp với tất cả các đối tượng


họ

trong không gian xung quanh (thường sử dụng khoảng Euclid, Manhettan).
 Bước 3 : Sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng giềng gần

ại

nhất với đối tượng chính.

Đ

 Bước 4 : Lấy tất cả các lớp của K láng giềng gần nhất đã xác định.
 Bước 5 : Dựa vào các lớp của láng giềng gần nhất để xác định lớp cho đối tượng
chính.

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

5


GVHD : TS. Nguyễn Đình Hoa Cương

nh

tế

H

uế


Khóa luận tốt nghiệp

Ki

Hình 1: Lưu đồ thuật toán của thuật toán K-NN

c

1.3.1 Ưu điểm của phương pháp K-NN:

Rất đơn giản, dễ học và thực hiện còn gọi là học lười vì khi thực hiện thì không

ại



họ

Thuật toán K-NN được sử dụng rộng rãi vì có nhiều ưu điểm như [2] [6]:

Đ

cần xây dựng các mô hình trên tập tham chiếu, nghĩa là không cần gom các văn
bản giống nhau thành một nhóm để tính toán, có thể để ngẫu nhiên như vậy để
thực hiện.


Có thể làm việc trên nhiều loại dữ liệu khác nhau như dữ liệu số, văn bản, đối
tượng cụ thể, đồ vật . . .




Giải quyết tốt các vấn đề phân loại, hồi quy, gộp nhóm với tỷ lệ chính xác cao mà
lại đơn giản để thực hiện.



Ứng dụng thành công trong rất nhiều lĩnh vực như phân loại thông tin, phân loại số
liệu, phân loại văn bản, từ ngữ, phân loại đối tượng trừu tượng.

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

6


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp
1.3.2 Nhược điểm của phương pháp K-NN:

Tuy nhiên thuật toán K-NN vẫn có một số nhược điểm như [2] [10]:


Chỉ có thể phân loại thông tin chứ không có khả năng phân tích để tìm ra thông tin
có giá trị. Chỉ có thể áp dụng trong lĩnh vực phân loại.



Vì phải tính khoảng cách đến tất cả đối tượng, rồi xác định độ tương tự nên với

một dữ liệu lớn thì sẽ rất mất thời gian để phân tích.



Dễ bị ảnh hưởng bởi “nhiễu”, là các đối tượng ở gần đối tượng cần phân loại
dễ ảnh hưởng đến độ chính xác của kết quả.

ại

họ

c

Ki

nh

tế

H

1.4 Ví dụ đơn giản về K-NN:

uế

nhưng chỉ là một lớp nhỏ, nên khi xét trong một tham chiếu K ít đối tượng thì rất

Đ

Hình 2 : Mô tả phương pháp K-NN ( Wikipedia 2007 )


Hãy xác định đối tượng hình tròn sẽ thuộc lớp với hình vuông hay là thuộc lớp với
hình tam giác ?
Xét vòng tròn nhỏ nét liền ở trong, tức là ta lấy K = 3, thì ta thấy có 2 hình tam
giác đứng gần hình tròn hơn so với chỉ 1 hình vuông, nên hình tròn sẽ được phân loại
thuộc lớp với hình tam giác.
Nhưng nếu ta lấy mẫu K = 5 thì sao ? Tức là xét vòng tròn nét đứt ở ngoài, ta thấy
có 3 hình vuông đứng gần với hình tròn hơn so với có 2 hình tam giác nên hình tròn sẽ
được phân loại thuộc lớp với hình vuông.

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

7


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

Ở đây ta thấy có sự khác nhau nếu ta lấy K đối tượng khác nhau, vì chỉ có ít đối
tượng để xét đến, nên theo nhược điểm của K-NN có thể gọi các hình tam giác này là
nhiễu, gây ảnh hưởng đến kết quả cuối cùng.
Tuy nhiên, các đối tượng ở đây đã được xem như là cùng 1 định dạng tương tự
nhau và khoảng cách giữa các đối tượng đã được tính toán và sắp xếp, nhưng trong đề tài
này thì sẽ rắc rối hơn, ta phải tính toán nhiều việc. Sau đây là giới thiệu về các công việc
phải làm để có thể giải quyết thuật toán K-NN trong tư vấn thông tin.
2. Công thức tính TF-IDF:

uế


2.1 Khái niệm:

TF-IDF [11] [12] là từ viết tắt của thuật ngữ Term Frequency – Inverse Document

H

Frequency nghĩa là trọng số của một từ trong một văn bản mà văn bản đó lại thuộc một

tế

tập tham chiếu nhiều văn bản khác, trọng số này thể hiện độ quan trọng của từ đó trong

nh

văn bản thuộc một tập các văn bản. Phương pháp này thường được sử dụng trong phân
tích từ vựng vì luôn có các từ được sử dụng nhiều hơn các từ khác là các từ thông dụng,

Đ

ại

họ

c

Ki

nhưng không có nhiều ý nghĩa và quan trọng, Zipf’s law đã phát biểu về vến đề này [13].

Biểu đồ 1 : Sơ đồ minh họa phát biểu của Zipf’s law (viblo 2016).

Phát biểu này đúng với mọi ngôn ngữ nên ta cần cân bằng mức độ quan trọng của
các từ trong ngôn ngữ. Nên phương pháp TF-IDF đã được đề xuất.

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

8


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

Đây là 1 trong những kỹ thuật để xử lý ngôn ngữ tự nhiên căn bản và thường được
áp dụng vào nhiều thuật toán khác như K-NN để phân tích dữ liệu văn bản, tóm tắt văn
bản, tìm kiếm thông tin... TF-IDF là kết hợp gồm 2 phần TF và IDF, ta sẽ tiếp tục tìm
hiểu về 2 phần này.
2.2 TF:
TF [11] [12] là viết tắt của Term Frequency nghĩa là tần số xuất hiện của một từ
trong một văn bản, mỗi văn bản thì có số kí tự hay chiều dài khác nhau, một từ có thể xuất
hiện ít hoặc nhiều hơn tùy vào văn bản, nên để tính tần số xuất hiện thì ta lấy số lần từ đó

H

(1)

nh

Trong đó :

𝒇(𝒕, 𝒅)

𝒎𝒂𝒙{ 𝒇 (𝒘, 𝒅) ∶ 𝒘 𝝐 𝒅}

tế

𝒕𝒇 (𝒕, 𝒅) =

uế

xuất hiện và chia cho tổng số từ trong văn bản. Ta có công thức tính TF:

Ki

• f (t,d) là Tần số xuất hiện của từ t trong văn bản d.

c

• Max { f (w, d) : w ∈ d } là số lần xuất hiện nhiều nhất của một từ w bất kỳ trong

họ

văn bản (hay còn gọi là tổng số kí tự không lặp lại - chiều dài của văn bản).
Kết quả tính được sẽ nằm trong khoảng 0 đến 1.

Đ

2.3 IDF:

ại

Giá trị TF càng lớn thì chứng tỏ văn bản d phụ thuộc rất nhiều vào từ t.

Còn IDF [11] [12] là viết tắt của từ Inverse Document Frequency nghĩa là tần số
nghịch của 1 từ trong tập văn bản xét đến hay còn gọi là độ quan trọng của từ đó trong
văn bản. Nhưng có nhiều từ rất phổ biến mà lại không quan trọng trong văn bản như “và”,
“thì”, “sẽ”, “nếu”, “nhưng”. . . là các từ phổ biến như Zipf’s law đã nói, nếu chỉ với công
thức TF thì các từ này sẽ có tần số xuất hiện rất cao, còn những từ quan trọng thì lại rất ít,
mà các từ quan trọng chính trong văn bản lại mạng giá trị cao hơn, nhiều thông tin hơn so
với các từ phổ biến, để hạn chế nhược điểm này thì ta cần loại bỏ để tăng tính chính xác,
từ đó ta có công thức IDF.

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

9


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

𝒊𝒅𝒇 (𝒕, 𝑫) = 𝒍𝒐𝒈
Trong đó:

|𝑫|
| { 𝒅 𝝐 𝑫 ∶ 𝒕 𝝐 𝒅 }|

(2)

• | D | là tổng số văn bản trong tập hợp D.
• | { d ∈ D : t ∈ d } | là số văn bản có chứa từ t.
• Log e là để giảm đi độ quan trọng của các từ phổ biến mà không có giá trị hoặc giá
trị rất thấp trong IDF như đã nói ở trên.


uế

Vì với các từ mà xuất hiện trong càng nhiều văn bản thì thương số D/d càng bé,

H

nên chỉ xuất hiện trong 1 văn bản thì giá trị IDF này là lớn nhất.

Giá trị IDF càng cao thì giá trị thông tin từ đó mang lại càng lớn, đó có thể là thông

tế

tin quan trọng, là từ khóa của văn bản để so sánh, phân biệt giữa các văn bản với nhau.

nh

Lưu ý: Để áp dụng công thức trên thì cần phải có điều kiện là từ t phải xuất hiện
trong văn bản d, nếu như t không xuất hiện trong các văn bản khác thì mẫu số

Ki

| { d ∈ D : t ∈ d } | = 0. Như vậy sẽ không đúng với toán học khi mẫu số bằng 0, nên

c

người ta thường thay mẫu số bằng “ 1+| { d ∈ D : t ∈ d } |”.

2.4. TF-IDF:


họ

Và mỗi từ chỉ có 1 giá trị IDF duy nhất trong văn bản.

ại

Từ đó với 2 phần TF và IDF gộp lại ta sẽ được giá trị TF-IDF sẽ chuẩn xác hơn,

Đ

với công thức như sau:

𝑻𝑭 − 𝑰𝑫𝑭 (𝒕, 𝒅, 𝑫) = 𝒕𝒇 ( 𝒕, 𝒅 ) × 𝒊𝒅𝒇 ( 𝒕, 𝑫)

(3)

Những từ có giá trị TF-IDF cao là những từ xuất hiện nhiều trong văn bản này và
xuất hiện ít trong các văn bản khác. Việc này giúp lọc ra những từ phổ biến và giữ lại
những từ có giá trị cao ( từ khoá của văn bản đó ).
2.5 Ưu nhược điểm của TF-IDF:
+Ưu điểm :

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

10


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp


• Ta có thể tìm kiếm và sắp xếp các văn bản có độ tương tự về nội dung với văn bản
mà ta yêu cầu.

• Dễ dàng lưu trữ và tìm kiếm hơn.
• Đánh giá đúng độ quan trọng của từ ngữ.
+Nhược điểm:

• Với việc phải chuyển tất cả về vectơ, với một lượng lớn văn bản gồm rất nhiều từ
vựng thì thời gian thực hiện sẽ lâu.

uế

• Khi một từ vựng thay đổi có thể kéo theo sự thay đổi hàng loạt hoặc là bỏ qua từ
vựng đó trong các tài liệu đã được mã hóa trước đó.

H

• Một từ sẽ là một vectơ, các từ khác nhau nên tương ứng một từ là một vectơ với

tế

một chiều riêng biệt, từ đó sẽ có rất nhiều chiều của vectơ theo cách biểu diễn này.

nh

3 Các công thức tính khoảng cách:

3.1 Công thức tính khoảng cách euclid (metric hoặc metric Pytago ):


Ki

Trong hệ toạ độ không gian thực [14] thì khoảng cách euclid giữa hai điểm là

c

chiều dài đoạn thẳng nối giữa hai điểm đó, có thể đo khoảng cách này bằng thước, được

họ

tính bằng công thức pytago [15].

Nhưng trong không gian euclid [16] thì cần nhiều thứ hơn, phải có khái niệm

ại

khoảng cách giữa hai điểm và góc của hai đường thẳng hay hai vectơ, nên ta phải tính tích
điểm [17].

Đ

vô hướng chính tắc ( hay còn được gọi là “tích chấm trên R”) để tính khoảng cách của hai
Công thức biểu diễn tích vô hướng của 2 vectơ là :
𝒏

𝒙 × 𝒚 = 𝒙𝟏 × 𝒚𝟏 + 𝒙𝟐 × 𝒚𝟐 + ⋯ + 𝒙𝒏 × 𝒚𝒏 = � 𝒙𝒊 × 𝒚𝒊
𝒊=𝟏

(4)


Kết quả của biểu thức là một số thực.

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

11


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

Dạng chuẩn Euclid là khoảng cách của một điểm đến điểm gốc trong không gian
Euclid và tích vô hướng của X với chính nó luôn luôn không âm [16], từ đó ta có công
thức tính độ dài vectơ như sau :
𝒏

| 𝒙 | = �𝒙𝟐𝟏 + 𝒙𝟐𝟐 + ⋯ + 𝒙𝟐𝒏 = √𝒙 × 𝒙 = �� 𝒙𝟐𝒊
𝒊=𝟏

(5)

uế

Từ đó ta có công thức tính khoảng cách euclid như sau :
𝒏

(6)

tế


𝒊=𝟏

H

𝒅 (𝒙, 𝒚) = ��( 𝒙𝒊 − 𝒚𝒊 )𝟐

nh

Khoảng cách này được gọi là khoảng cách euclid. Nó là hình ảnh của định lý pytago
3.2 Khoảng cách Manhettan:

Ki

[16] [17] [18].

c

Hay còn được gọi là khoảng cách L1 hay khoảng cách trong thành phố, là một

họ

dạng khoảng cách của hai điểm trong không gian Euclid. Khoảng cách Manhettan [18]
[19] được tính bằng tổng chiều dài hình chiếu của tất cả các đoạn thẳng nối giữa hai điểm

ại

trên một mặt phẳng trong hệ trục toạ độ Descartes [14].

Đ


Với p = (p1, p2, p3, . . , pn ) và q = (q1, q2, q3, . . . , qn ) thì khoảng cách của 2 điểm p
và q tính theo khoảng cách Manhettan là :
𝒏

𝒅(𝒑, 𝒒) = |𝒑 − 𝒒| = |𝒑𝟏 − 𝒒𝟏 | + |𝒑𝟐 − 𝒒𝟐 | + |𝒑𝒏 − 𝒒𝒏 | = � | 𝒑𝒊 − 𝒒𝒊 |
𝒊=𝟏

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

(7)

12


GVHD : TS. Nguyễn Đình Hoa Cương

uế

Khóa luận tốt nghiệp

H

Hình 3: Mô tả về khoảng cách Euclid và khoảng cách Manhattan (Wikipedia 2007).

tế

Ví dụ so sánh giữa khoảng cách Euclid và khoảng cách Manhattan [18] [19]:

nh


Các đường nét liền biểu diễn khoảng cách Manhattan có cùng độ dài, trong khi
đường nét đứt biểu diễn khoảng cách Euclid.

Ki

4. Hệ tư vấn
4.1 Lọc thông tin:

họ

c

Lọc thông tin là quá trình lọc ra thông tin thích hợp cho người dùng, còn những
thông tin không phù hợp sẽ bị ngăn chặn, loại bỏ để không gây ảnh hưởng tới người dùng.

ại

Có thể lọc rất nhiều kiểu thông tin như văn bản, sách, trang web, sản phẩm, hàng hóa,

Đ

phim, ảnh, dịch vụ. Nên được áp dụng rất rộng rãi trong nhiều lĩnh vực khác nhau, trong
các hệ tư vấn thì việc lọc thông tin càng quan trọng.
4.2 Khái niệm hệ tư vấn:
Hệ tư vấn (Recommender System) có nghĩa là một hệ thống sẽ tính toán và dự
đoán khả năng người dùng sẽ thích sản phẩm hay thông tin nào đó. Từ đó đưa ra những
gợi ý về sản phẩm hay thông tin tương tự có thể phù hợp với người dùng nhất [21].
Có nhiều trang website đã áp dụng phương pháp tư vấn như Facebook, Youtube,
các trang báo mạng, cửa hàng trực tuyến.


SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

13


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

Trên Facebook có thể đưa ra các bài viết bạn quan tâm, các người dùng bạn có thể
quen. Còn youtube đề xuất các video phù hợp với bạn dựa trên lịch sử các video bạn đã
xem.
Để có thể tư vấn như vậy, trước tiên phải đi xây dựng hồ sơ của từng người dùng.
Hồ sơ của người dùng có rất nhiều thông tin nhưng được gộp chung thành 2 loại chính
bao gồm thông tin rõ ràng và thông tin ẩn.
Những thông tin rõ ràng là những thông tin được người dùng cung cấp cụ thể
thông qua việc trả lời các câu hỏi, hay những thể hiện cụ thể như: người dùng mua sản

uế

phẩm, người dùng đưa đánh giá cho một sản phẩm hay một bản tin nào đó hay sở thích
của người dùng là gì ?… Tuy nhiên, những thông tin rõ ràng này ta rất khó thu thập và

H

đôi khi không đủ để ta dự đoán và tính toán độ phù hợp với người dùng. Ta phải sử dụng

tế

thêm những thông tin ẩn chẳng hạn như: lịch sử các từ khóa tìm kiếm, tần số lặp lại các từ


nh

khóa, độ tương tự hay sự liên quan trong nghĩa của các từ khóa mà người dùng tìm
kiếm… Trong nhiều hệ tư vấn, những thông tin ẩn này đóng vai trò quyết định trong kết

Ki

quả tư vấn.

c

Tùy thuộc vào phương pháp, mà hệ tư vấn được chia thành 3 loại :

họ

• Tư vấn dựa vào phương pháp lọc theo nội dung.
• Tư vấn dựa vào phương pháp lọc cộng tác.

Đ

ại

• Tư vấn dựa vào phương pháp lọc kết hợp.

Hình 4: Mô tả cách thức hoạt động của hệ tư vấn (easyrec.org 2015).

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

14



GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp
4.3 Hướng tiếp cận của phương pháp lọc:

Các phương pháp tư vấn đều phân thành hai hướng tiếp cận là [22] :

• Lọc dựa vào bộ nhớ.
• Lọc dựa vào mô hình.
4.3.1 Phương pháp lọc dựa vào bộ nhớ:
Đây là phương pháp lưu lại toàn bộ các thông tin, nội dung khi có các trường hợp
tương tự thì hệ thống đưa ra tư vấn dựa vào các thông tin, nội dung đã lưu đó mà không
cần phải xây dựng lại từ đầu. Ưu điểm của phương pháp này là đơn giản, dễ dàng cài đặt,

4.3.2 Phương pháp lọc dựa vào mô hình:

H

việc đưa ra tư vấn có thể mất nhiều thời gian [22].

uế

tuy nhiên phương pháp này phải lọc, so sánh trên toàn bộ người dùng và sản phẩm nên

tế

Phương pháp này thì các thông tin, nội dung được sử dụng để xây dựng thành một


nh

mô hình rút gọn. Sau đó mô hình này được dùng để đưa ra tư vấn, việc tư vấn sẽ diễn ra
nhanh hơn do các tính toán đã được thu gọn lại.

Ki

4.4 Phương pháp lọc

c

Từ hồ sơ của người dùng đã thu thập được, hệ tư vấn tính toán khả năng người

họ

dùng sẽ thích thông tin hay sản phẩm nào đó. Việc tính toán này cũng có rất nhiều cách
khác nhau, tuy nhiên có ba loại chủ yếu đó là: phương pháp lọc dựa trên nội dung,

ại

phương pháp lọc cộng tác và phương pháp lọc kết hợp [22] [23].

Đ

4.4.1 Phương pháp lọc dựa trên nội dung :
Đây là phương pháp phân tích, so sánh, đánh giá dựa trên nội dung của các thông
tin, sản phẩm mà người dùng quan tâm, tìm kiếm hoặc đã mua từ đó giới thiệu thông tin
hoặc sản phẩm mới có nội dung tương tự [21] [22] [23].
Phương pháp này dựa trên nguyên lý người dùng thích sản phẩm hay thông tin A
nào đó thì cũng có thể thích sản phẩm hay thông tin B tương tự, hoặc dựa trên các thông

tin mà do chính khách hàng cung cấp như thích hoặc quan tâm sản phẩm, từ đó cũng đưa
ra sản phẩm, thông tin tương tự.

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

15


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

Nếu người dùng cung cấp thêm dữ liệu đầu vào trên chính sản phẩm đã lựa chọn,
thì việc phân tích sẽ càng chính xác hơn.
Trong một số trường hợp thì phương pháp này rất dễ thực hiện nhưng trong một số
trường hợp khác thì rất phức tạp, ví dụ với những thông tin mà nội dung không có sẵn
như một video, một bài hát, một bức ảnh thì rất khó để phân tích và đưa ra tư vấn tương
tự cho khách hàng.
Phương pháp này rất đơn giản, không phụ thuộc vào người khác, chỉ dựa trên
thông tin cá nhân mỗi người nên dễ thực hiện và chính xác hơn. Không bị ảnh hưởng bởi

uế

đánh giá của người dùng tương tự.

Các phương pháp thực hiện lọc dựa trên nội dung đều xuất phát từ lĩnh vực truy

H

vấn thông tin, ta sẽ chuyển các đối tượng cần phân tích thành các vectơ. Về mặt chi tiết


tế

các phương pháp thực hiện lọc dựa trên nội dung có thể khác nhau, nhưng tất cả đều có

nh

một điểm chung là phải tạo một hồ sơ đối tượng cho đối tượng cần phân tích và thực hiện
so sánh với các hồ sơ đối tượng khác để tiến hành lọc và tư vấn.

Ki

4.4.1.1 Phát biểu bài toán lọc dựa trên nội dung:

c

Ta có thể phát biểu bài toán lọc dựa trên nội dung như sau:

họ

Cho I = { i1, i2, i3, i4 . . . , in } là một tập văn bản gồm có N bài báo. Mỗi bài báo i
được mô tả là 1 vectơ n chiều, mà trọng số của mỗi chiều được tính bằng công thức TF-

ại

IDF, mỗi người đọc ( người dùng ) được lưu lại hồ sơ những bài báo yêu thích trong tập

Đ

dữ liệu, từ đó hệ thống đưa ra tư vấn ( dự đoán ) những bài báo mà người đọc có thể yêu

thích dựa trên việc phân tích nội dung các bài báo yêu thích trong hồ sơ của người đọc
thông qua khoảng cách Euclid và thuật toán K-NN.

SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

16


GVHD : TS. Nguyễn Đình Hoa Cương

Khóa luận tốt nghiệp

H

4.4.1.2 Phương pháp Lọc nội dung dựa vào bộ nhớ :

uế

Hình 5: Mô tả phương pháp lọc dựa trên nội dụng (ongxuanhong.wordpress.com 2015).

Là phương pháp dựa vào tất cả hồ sơ người dùng, sản phẩm đã thu thập được để so

tế

sánh và đưa ra tư vấn. Tất cả sản phẩm sẽ được so sánh so với hồ sơ người dùng đã thu

nh

thập, những sản phẩm nào sau khi so sánh có độ tương tự cao với hồ sơ người dùng thì sẽ
được dùng để tư vấn cho người dùng đó.


Ki

4.4.1.3 Phương pháp lọc nội dung dựa vào mô hình :

c

Là phương pháp xây dựng một mô hình chuẩn từ hồ sơ các đối tượng đã thu thập

họ

được. Các mô hình tư vấn sẽ lấy mô hình chuẩn này để tư vấn cho người dùng. Cách thực
hiện cũng tương tự với phương pháp lọc nội dung đựa vào bộ nhớ [22].

ại

4.4.1.4 Điểm yếu của phương pháp lọc theo nội dung :

Đ

• Lọc theo nội dung chủ yếu dựa vào nội dung, phải chọn ra một đặc trưng trong
truy vấn dữ liệu nên đối với các đối tượng mà việc chọn đặc trưng phức tạp như
video, bài hát, bức ảnh thì rất khó.

• Và với các người dùng mới, thì cũng không có hồ sơ người dùng gì để biểu diễn
thành vectơ để máy tính có thể hiểu được nên không thể thực hiện dự đoán để đưa
ra tư vấn sản phẩm, thông tin thích hợp.

• Phương pháp này dựa trên nội dung nên khó tạo được sự bất ngờ cho khách hàng,
thậm chí là tư vấn lại các sản phẩm, thông tin mà khách hàng đã mua hoặc đã biết.


SV: Ngô Minh Nhật – K47 Tin Học Kinh Tế

17


×