1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng

79 291 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 2,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sau đó, hệ thống tính điểm đánh giá giữa thực thể và câu truy vấn dựa trên việc tổng hợp điểm của các đánh giá về thực thể đã khớp với câu truy vấn.. Đề xuất giải thuật tìm kiếm thực thể

Trang 1

KIẾM ĐỐI TƯỢNG

LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN

Hà Nội – Năm 2012

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

Huỳnh Tuấn Anh

TÌM KIẾM THỰC THỂ DỰA TRÊN ĐÁNH GIÁ CỦA NGƯỜI DÙNG VÀ ỨNG DỤNG MAPREDUCE TRONG BÀI TOÁN TÌM KIẾM ĐỐI TƯỢNG

Chuyên ngành : Công Nghệ Thông Tin

Trang 3

i

LỜI CAM ĐOAN

Tôi xin cam đoan những gì mà tôi viết ra trong luận văn này là do sự tìm hiểu

và nghiên cứu của bản thân Mọi kết quả nghiên cứu cũng như ý tưởng của các tác giả khác nếu có đều được trích dẫn đầy đủ

Luận văn này cho đến nay vẫn chưa hề được bảo vệ tại bất kỳ một hội đồng bảo vệ luận văn thạc sĩ nào trên toàn quốc cũng như nước ngoài và cho đến nay chưa

hề được công bố trên bất kỳ phương tiện thông tin nào

Tôi xin hoàn toàn chịu trách nhiệm về những gì mà tôi đã cam đoan trên đây

Hà Nội, ngày 30 tháng 8 năm 2012

Tác giả

Huỳnh Tuấn Anh

Trang 4

Xin cảm ơn các đồng nghiệp ở Đại học Nha Trang đã tạo điều kiện, động viên tôi trong thời gian thực hiện luận văn

Hà Nội, ngày 30 tháng 8 năm 2012

Huỳnh Tuấn Anh

Trang 5

iii

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT v

DANH MỤC CÁC HÌNH VẼ vi

DANH MỤC CÁC BẢNG BIỂU vii

MỞ ĐẦU 1

0.1 Giới thiệu về tìm kiếm thực thể 2

0.2 Tìm kiếm thực thể dựa vào đánh giá người dùng 3

0.2.1 Đánh giá sản phẩm của cộng đồng người dùng 3

0.2.2 Tìm kiếm sản phẩm dựa vào đánh giá của người dùng 5

0.3 Nhiệm vụ trong luận văn 6

0.4 Các nghiên cứu liên quan 7

0.5 Cấu trúc của luận văn 7

CHƯƠNG 1 BÀI TOÁN TÌM KIẾM THÔNG TIN 9

1.1 Đánh chỉ mục văn bản (indexing) 9

1.2 Tìm kiếm văn bản 10

1.2.1 Mô hình không gian vector (Vector Space Model - VSM) 11

1.2.2 Mô hình thống kê 14

1.3 Kiến trúc cơ bản của một hệ thống IR 16

Kết chương 17

CHƯƠNG 2 TÌM KIẾM THỰC THỂ DỰA TRÊN CÁC ĐÁNH GIÁ 18

2.1 Xếp hạng thực thể dựa trên các đánh giá 19

2.2 Tính điểm đánh giá có xét các chiều hướng đánh giá của người sử dụng trong các đánh giá 21

2.2.1 Tính mức độ tích cực (positive) hay tiêu cực (negative) của đánh giá 23

2.2.1.1 Phân lớp Sentiment (Sentiment Classification) 23

2.2.1.2 Tính điểm đánh giá của một đánh giá với câu truy vấn có xét đến SO của đánh giá 24

2.2.1.3 Tính chỉ số SO 24

2.2.1.4 Chỉ số SO đối với một khía cạnh của thực thể 25

2.2.2 Tính trọng số của các từ đánh giá trong hai vector pos và neg 27

2.2.3 Tóm tắt mô hình tính chỉ số SO đối với các khía cạnh của thực thể 31

Trang 6

iv

Kết chương 32

CHƯƠNG 3 THUẬT TOÁN TÌM KIẾM THỰC THỂ DỰA TRÊN CÁC ĐÁNH GIÁ VỚI MAPREDUCE 33

3.1 MapReduce Framework 33

3.1.1 Cấu trúc dữ liệu trong MapReduce 33

3.1.2 Map và Reduce hai hàm cơ bản trong MapReduce 33

3.1.3 Partitioner và Combiner: 2 thành phần phụ của MapReduce 35

3.1.4 Ví dụ minh họa MapReduce 37

3.2 Giới thiệu Apache Hadoop 38

3.3 Thuật toán MapReduce Entity Search cho bài toán tìm kiếm thực thể dựa trên các đánh giá 41

3.3.1 Thành phần Mapper 43

3.3.2 Thành phần Reducer 44

3.3.3 Thành phần Combiner 44

Kết chương 46

CHƯƠNG 4 CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ 47

4.1 Dữ liệu cho cài đặt thử nghiệm 47

4.2 Các công cụ sử dụng 48

4.2.1 Lucene 48

4.2.2 Từ điển đồng nghĩa WordNet 52

4.2.3 MIT Java Wordnet Interface (JWI) 52

4.2.4 SentiWordNet 53

4.2.5 Mô hình thống kê BM25 trong Lucene 53

4.3 Xác định hai vector pos và neg 53

4.4 Đánh giá 57

4.4.1 Tiêu chuẩn đánh giá 57

4.4.3 Kết quả thử nghiệm 58

4.4.4 Một số ví dụ về kết quả tìm kiếm 62

Kết chương: 65

KẾT LUẬN 66

Đánh giá chung về luận văn 66

Các đóng góp khoa học của luận văn 67

Hướng phát triển của luận văn 67

TÀI LIỆU THAM KHẢO 68

Trang 7

v

DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT

1 ESE Entity Search Engine Máy tìm kiếm thực thể

2 OSE Object Search Engine Máy tìm kiếm đối tượng

3 IR Information Retrieval Truy hồi thông tin

Information

Thông tin tương hỗ giữa

hai sự kiện

9 SO Sentiment Orientation Định hướng thiện cảm

10 HDFS Hadoop Distributed File

quan)

Đánh giá (Đánh giá của người dùng về thực thể)

Trang 8

vi

DANH MỤC CÁC HÌNH VẼ

Hình 0.1: Tóm tắt các đặc tính của một cellular phone dựa trên các đánh giá [1] 2

Hình 1.1 Ví dụ về postings list cho term “windows” trong inverted index 10

Hình 1.2 Ví dụ về một inverted index với vị trí xuất hiện của term windows trong văn bản 10

Hình 1.3 độ tương tự giữa hai văn bản d1, d2 và câu truy vấn q 12

Hình 1.4 Kiến trúc cơ bản của một hệ thống IR [17] 16

Hình 2.1 Mô hình tìm kiếm thực thể dựa trên đánh giá 19

Hình 2.1 Đồ thị của hàm relate(x) với k=5; β=2 27

Hình 3.1 Hai pha map và reduce của một MapReduce job [8] 34

Hình 3.2 MapReduce với đầy đủ các thành phần [8] 36

Hình 3.3 Sơ đồ một ứng dụng MapReduce ở mức cao [20] 37

Hình 3.4 Sơ đồ theo dõi một ứng dụng MapReduce [6] 39

Hình 3.5 Sơ đồ thực thi chi tiết một ứng dụng MapReduce [20] 40

Hình 3.6 Sơ đồ thuật toán MapReduce Entity Search cho bài toán tìm kiếm thực thể dựa trên các đánh giá 42

Hình 4.1 Điểm số chi tiết cho một đánh giá trong tập posReviwew, negReview 48

Hình 4.2 Một khối các document biểu diễn các đánh giá về một mẫu xe 50

Hình 4.3 nDCG trung bình của top 10 kết quả trả về trong từng trường hợp thử nghiệm 61

Hình 4.4 So sánh nDCG trong hai trường hợp tốt nhất khi f=2 và f=0 61

Hình 4.5 top 10 kết quả tìm kiếm với câu truy vấn: good + fuel economy, với f=0, sum score, BM25 nDCGaspect=0.933 nDCGoverall=0.965 63

Hình 4.6 top 10 kết quả tìm kiếm với câu truy vấn: q= fuel với f=2, α=0.4, BM25, nDCGaspect=0.967, nDCGoverall=0.977 63

Trang 9

vii

DANH MỤC CÁC BẢNG BIỂU

Bảng 2.1 Các phương pháp tổng hợp điểm đánh giá 20

Bảng 4.1 Lucene Document của một đánh giá 49

Bảng 4.2 Lucene Document của một thực thể 49

Bảng 4.3 Danh sách các từ trong vector pos 55

Bảng 4.4 Danh sách các từ trong vector neg 56

Bảng 4.5 Các câu truy vấn trên từng khía cạnh thực thể có xét đến ảnh hưởng của các từ đánh giá 58

Bảng 4.6 Các câu truy vấn trên từng khía cạnh thực thể không xét đến ảnh hưởng của các từ đánh giá 59

Bảng 4.7 nDCG của top 10 kết quả trả về của các câu truy vấn ở bảng 4.6 với f=0 60 Bảng 4.8 nDCG của top 10 kết quả trả về của các câu truy vấn ở bảng 4.5 với f=2 60

Trang 10

1

MỞ ĐẦU

Sự phát triển nhanh chóng các ứng dụng của công nghệ thông tin và Internet vào các lĩnh vực trong đời sống xã hội đã tạo ra nhiều nguồn dữ liệu khổng lồ Trong số đó phải kể đến một lượng rất lớn các nhận xét, đánh giá (sau đây gọi là các đánh giá-review) về các sản phẩm trên các trang thương mại điện tử và các diễn đàn, các hồ sơ liên quan đến các cá nhân…

Các ý kiến đánh giá của các chuyên gia hay của cộng đồng người dùng Internet rất có ích trong việc trợ giúp khách hàng lựa chọn sản phẩm muốn mua Ví

dụ, khách hàng thường đọc qua các đánh giá về một sản phẩm trước khi ra quyết định mua nó Nhưng với một số lượng rất lớn các đánh giá, khách hàng không thể nào đọc hết tất cả các đánh giá về các sản phẩm Thông thường với sự trợ giúp của các công cụ tìm kiếm hiện tại như Google, Yahoo, Bing, khách hàng thường tìm đọc các đánh giá về sản phẩm sau khi cung cấp cho máy tìm kiếm tên của sản phẩm Việc lựa chọn sản phẩm như vậy chủ yếu dựa vào sự chủ quan của khách hàng chứ không dựa trên các đánh giá sẵn có

Với sự phát triển của kỹ thuật máy tính và khai phá dữ liệu, đã có một số nghiên cứu trên dữ liệu các đánh giá nhằm trợ giúp khách hàng có thể đưa ra các quyết định của mình dựa trên các đánh giá như:

1 Tóm tắt các đánh giá [1] [10], [11]: Tóm tắt các đặc tính của một sản phẩm từ các

đánh giá của người dùng Kết quả tóm tắt có thể được trình bày một cách trực quan Khách hàng có thể xem một cách tổng quan về sự đánh giá của người dùng đối với một sản phẩm Khi cần thiết, khách hàng có thể “khoan sâu” trên một thuộc tính cụ thể để xem xét từng đánh giá cho thuộc tính đó

Trang 11

2

Hình 0.1: Tóm tắt các đặc tính của một cellular phone dựa trên các đánh giá [1]

2 Sentiment classification [2], [3], phân lớp các đánh giá thành các lớp phân cực:

positive, negative và neutral Sentiment classification tương tự như phân lớp văn

bản, nhưng nó cũng có những điểm khác biệt Trong phân lớp văn bản thành các chủ đề (topic), các từ chủ đề đóng vai trò quan trọng Trong khi đó, các từ đánh giá thể hiện sự đánh giá tích cực (positive) hay tiêu cực (negative) đóng vai trò quan trọng trong sentiment classification

3 Tìm kiếm thực thể dựa vào các đánh giá: Chủ yếu dựa vào sự so khớp các đánh

giá với câu truy vấn, sau đó tổng hợp các điểm đánh giá (score) giữa câu truy vấn và các đánh giá và đưa ra kết quả là các thực thể có các đánh giá khớp với câu truy vấn nhất [12]

0.1 Giới thiệu về tìm kiếm thực thể

Tìm kiếm thực thể là một lĩnh vực nghiên cứu mới trong thời gian gần đây Khác với các hệ thống tìm kiếm thông thường, các hệ thống tìm kiếm thực thể (Entity Search Engine - ESE) và hệ thống tìm kiếm đối tượng (Object Search Engine - OSE) trả về các thực thể theo yêu cầu của người dùng thay vì trả về một tập các trang web Các thực thể trong hệ thống ESE là các đối tượng được rút trích

từ các trang web [18] hoặc là một đối tượng có nhiều văn bản liên quan [12], [15] Một số hệ thống ESE điển hình:

- Hệ thống Cazoodle, http://www.cazoodle.com/, do nhóm nghiên cứu của giáo sư Kevin Chang Chuan của trường University of Illinois at Urbana-Champain

Trang 12

3

(UIUC, USA) phát triển Cazoodle cho phép tìm kiếm các đối tượng ở hai lĩnh vực: Các thiết bị điện tử (máy tính, thiết bị giải trí, camera, video…) và các căn hộ cho thuê

- Hệ thống tìm kiếm các chuyên gia, nhà nghiên cứu, Arnetminer,

University China phát triển

Khác với các máy tìm kiếm thông thường, hiện nay chưa có một hệ thống tìm kiếm thực thể chung Mỗi hệ thống tìm kiếm thực thể thường hướng tới một lĩnh vực nào đó Các hệ thống tìm kiếm như vậy gọi là các máy tìm kiếm theo lĩnh vực (Vertical Seach Engine)

0.2 Tìm kiếm thực thể dựa vào đánh giá người dùng

0.2.1 Đánh giá sản phẩm của cộng đồng người dùng

Sự phát triển thương mại điện tử đã làm thay đổi thói quen mua sắm của người dùng Khách hàng thường tìm hiểu thông tin về sản phẩm muốn mua bằng cách đọc các đánh giá của những người đã sử dụng qua sản phẩm đó trên Internet Ngược lại, ngày càng có nhiều người dùng chia sẽ các đánh giá, cảm nhận của mình

về một sản phẩm mà họ đã dùng Theo một nghiên cứu trên 2000 người dùng ở Mỹ [2]:

81% người dùng (hoặc 60% người dùng Mỹ) đã từng tham gia các khảo sát trực tuyến ít nhất một lần

20% người dùng (hoặc 15% người dùng Mỹ) thực hiện những công việc này hàng ngày

Trong số những thành viên của các trang web đánh giá nhà hàng, khách sạn

và các dịch vụ khác, từ 73% đến 87% cho rằng đánh giá của cộng đồng người dùng có tầm ảnh hưởng quan trọng đến hành vi mua hàng của họ Người dùng có thể trả thêm từ 20% đến 99% cho một sản phẩm 5 sao so với giá của một sản phẩm 4 sao

32% người dùng cung cấp những đánh giá trên sản phẩm, dịch vụ cho một

Trang 13

28% cho rằng lý do chính cho việc tìm kiếm các thông tin trên mạng là để thu thập những thông tin dưới góc nhìn của cộng đồng mà người dùng có tham gia, còn 34% cho rằng lý do chính cho việc tìm kiếm các thông tin trên mạng là để thu thập những thông tin dưới góc nhìn của các cộng đồng khác 27% đã từng tìm kiếm trực tuyến cho các chứng thực hay đánh giá của các tổ chức bên ngoài

28% cho rằng hầu hết những trang web họ sử dụng có cùng quan điểm, còn 29% lại cho rằng hầu hết những trang web họ sử dụng có quan điểm trái ngược nhau, tức là rất nhiều người không chỉ đơn giản là tìm kiếm những chứng thực cho những đánh giá đã tồn tại trước đó

8% cung cấp những quan điểm chính trị của bản thân cho những trang web trực tuyến

Đánh giá sản phẩm của cộng đồng người dùng tồn tại dưới rất nhiều hình thức khác nhau trên Web: Các trang web chuyên đánh giá một hoặc một vài loại sản phẩm nào đó (như là máy tính xách tay hoặc máy nghe nhạc MP3), các trang báo hoặc tạp chí điện tử, các trang kết hợp việc đánh giá với việc bán sản phẩm (như là Amazon) và các trang tập trung vào thu thập những đánh giá của chuyên gia trên nhiều lĩnh vực khác nhau (Cnet, ZDnet, ) Những đánh giá kém hình thức hơn có thể tìm thấy ở các trang thảo luận hoặc danh sách thư tín, hoặc các nhóm thảo luận trên mạng Người dùng cũng đăng tải những đánh giá về sản phẩm họ đang dùng trên những trang web cá nhân hoặc blog [13]

Trang 14

5

Khi tìm kiếm thông tin về một sản phẩm nào đó, những công cụ tìm kiếm thông thường trả về một hoặc một vài trang web đánh giá hữu ích, nhưng tìm những thông tin đặc trưng về sản phẩm từ những trang web đó là một công việc không hề

dễ dàng: Tốn thời gian và làm nản chí những người không kiên trì

Sự quan tâm của từng người dùng vào các trang web đánh giá trực tuyến và ảnh hưởng tiềm tàng của những đánh giá này mang lại là những điều đang được những nhà cung cấp sản phẩm ngày càng quan tâm đến Với sự bùng nổ của nền tảng Web 2.0 như là blog, diễn đàn thảo luận, mạng ngang hàng và nhiều loại khác, người dùng có thể dễ dàng chia sẻ những kinh nghiệm và đánh giá của bản thân về một nhãn hiệu nào đó Đánh giá có thể là tốt hoặc xấu đối với bất kỳ loại sản phẩm hay dịch vụ nào Cùng với đó là việc những công ty lớn càng ngày càng nhận ra tầm ảnh hưởng quan trọng của ý kiến của người dùng trong việc đánh giá và hình thành

ý kiến của những người dùng khác Các công ty có thể đáp lại ý kiến đánh giá của cộng đồng người dùng bằng việc phân tích những đánh giá, qua đó điều chỉnh chiến lược tiếp thị, vị trí thương hiệu, phát triển sản phẩm và những hoạt động khác

Nhưng những nhà phân tích cũng cho rằng sự tận dụng các công cụ trực tuyến để theo dõi hình ảnh của một sản phẩm nào đó đòi hỏi những công nghệ mới Các nhà tiếp thị luôn cần các phương tiện truyền thông theo dõi về những thông tin liên quan đến công ty của họ - đó là những hoạt động quảng bá, sự vi phạm pháp lý, thông tin về đối thủ cạnh tranh Nhưng sự phân đoạn các phương tiện truyền thông

và sự thay đổi thói quen của người tiêu dùng đã làm tê liệt các phương thức theo dõi truyền thống Technorati đã ước lượng rằng mỗi ngày có khoảng 75000 blog được tạo ra cùng với 1200000 bài viết, rất nhiều trong số đó là đánh giá của người dùng

về sản phẩm [2] Những chiến lược cũ đã không còn chỗ đứng trong thế giới hiện tại

0.2.2 Tìm kiếm sản phẩm dựa vào đánh giá của người dùng

Các đánh giá về một sản phẩm rất có ích đối với khách hàng trong việc lựa chọn sản phẩm mà họ cần Nhưng với một lượng rất lớn các đánh giá về các sản

Trang 15

6

phẩm như hiện nay trên các trang thương mại điện tử, diễn đàn, blog, người sử dụng khó có thể đưa ra một lựa chọn khách quan để chọn ra một sản phẩm phù hợp với mình Muốn đưa ra một quyết định đúng đắn, khách hàng phải đọc qua tất cả các đánh giá về sản phẩm mà họ muốn mua Điều này làm cho khách hàng tốn khá nhiều thời gian

Các công cụ tìm kiếm hiện nay, Google, Yahoo, Bing…chỉ có thể trợ giúp người sử dụng trong việc tìm kiếm các đánh giá về sản phẩm khi người dùng cung cấp các thông tin về sản phẩm, thường là tên của sản phẩm, cho máy tìm kiếm Trong khi đó, khách hàng lại mong muốn có những hệ thống tìm kiếm có thể đưa ra những danh sách sản phẩm khi người dùng cung cấp cho máy tìm kiếm các từ khóa

là những đặc tính của các sản phẩm đó

0.3 Nhiệm vụ trong luận văn

Luận văn tập trung vào việc nghiên cứu phương pháp tìm kiếm thực thể dựa trên ý kiến người dùng bằng cách mở rộng mô hình tìm kiếm văn bản theo từ khóa Khi người dùng đưa ra câu truy vấn, hệ thống tìm kiếm sẽ tìm tất cả các đánh giá của từng thực thể khớp với câu truy vấn Sau đó, hệ thống tính điểm đánh giá giữa thực thể và câu truy vấn dựa trên việc tổng hợp điểm của các đánh giá về thực thể

đã khớp với câu truy vấn Với mong muốn nghiên cứu phát triển một hệ thống tìm

kiếm sản phẩm dựa vào đánh giá của người dùng, luận văn đề ra 04 nhiệm vụ chính sau đây:

1 Xây dựng phương pháp tìm kiếm thực thể dựa trên đánh giá của người dùng

2 Xây dựng và thử nghiệm công thức tính điểm đánh giá, Sum-Average, giữa thực thể và câu truy vấn dựa trên điểm của từng đánh giá về thực thể đã khớp với câu truy vấn

3 Xây dựng phương pháp cải thiện kết quả tìm kiếm thực thể bằng cách xét đến các chiều hướng đánh giá (tích cực hay tiêu cực) của người dùng trong các đánh giá về thực thể Đề xuất phương pháp tính điểm đánh giá giữa từng đánh giá và câu

Trang 16

7

truy vấn

4 Đề xuất giải thuật tìm kiếm thực thể dựa trên đánh giá người dùng bằng MapReduce Framework

0.4 Các nghiên cứu liên quan

Tìm kiếm thực thể là một trong những vấn đề được tập trung nghiên cứu hiện nay Một trong số đó là tìm cách xếp hạng (rank) các thực thể liên quan tới yêu cầu truy vấn của người dùng thay cho việc xếp hạng các văn bản liên quan đến câu truy vấn Do sự tồn tại của một lượng lớn đánh giá về các sản phẩm trên Internet nên đã đặt ra các vấn đề về khai thác chúng để phục vụ cho việc tìm kiếm sản phẩm, phát triển và tiêu thụ sản phẩm Một số các nghiên cứu điển hình về các đánh giá của người dùng được giới thiệu sau đây:

- Sentiment Analysis: Phân lớp các đánh giá của người dùng thành các lớp

như: “positive”, “negative” và “neutral” Các phương pháp được sử dụng như phân lớp có giám sát hay không có giám sát hay cả hai cách tiếp cận [1], [2], [3], [4] Sentiment analysis chỉ ra các mức độ phân cực của một đánh giá (“positive” hay

“negative”) một cách tổng quát chứ không phân cực theo một khía cạnh cụ thể nào

đó của thực thể

- SentiWordnet: Một công cụ tra cứu từ vựng được dùng để hỗ trợ cho việc

phân lớp và khai phá các đánh giá do các tác giả Stefano Baccianella, Andrea Esuli, and Fabrizio Sebastiani phát triển dựa trên từ điển WordNet của Stanford University Hiện tại, SentiWordNet đã được phát triển lên phiên bản 3.0 và được cung cấp miễn phí cho công việc nghiên cứu [15]

- Xếp hạng thực thể dựa trên các đánh giá (Opinion-Based Entity

Ranking): Đưa ra mô hình tìm kiếm các thực thể dựa trên các đánh giá bằng cách

mở rộng mô hình tìm kiếm văn bản Nghiên cứu cũng đưa ra các cách cải thiện độ chính xác của kết quả tìm kiếm dựa trên việc mở rộng câu truy vấn bằng cách thêm các từ đánh giá tương đương vào câu truy vấn [12]

0.5 Cấu trúc của luận văn

Trang 17

8

Luận văn được trình bày trong 4 chương:

- Phần mở đầu: Giới thiệu sơ lược về luận văn, nhu cầu tìm kiếm thực thể

dựa trên các đánh giá của người dùng, các nghiên cứu liên quan trên các đánh giá của người dùng

- Chương 1: Trình bày tổng quan về truy vấn thông tin bao gồm các phần:

Đánh chỉ mục tập văn bản; tìm kiếm văn bản theo mô hình không gian vector và theo mô hình thống kê

- Chương 2: Phần chính của luận văn, trình bày phương pháp tìm kiếm thực

thể dựa trên các đánh giá của người dùng bao gồm:

1 Các phương pháp tính điểm đánh giá giữa thực thể và câu truy vấn,

đề xuất công thức tính điểm: Sum-Average

2 Cải thiện kết quả xếp hạng thực thể bằng cách xét các chiều hướng đánh giá của người dùng về thực thể

3 Đề xuất công thức tính điểm đánh giá giữa mỗi đánh giá và câu truy vấn

- Chương 3: Đề xuất giải thuật tìm kiếm thực thể dựa trên đánh giá người

dùng bằng MapReduce Framework

- Chương 4: Cài đặt thử nghiệm phương pháp tìm kiếm thực thể đề xuất ở

chương 2 và đánh giá kết quả

- Phần kết luận: Đánh giá kết quả đạt được của luận văn và các hướng phát

triển tiếp theo

Trang 18

9

CHƯƠNG 1 BÀI TOÁN TÌM KIẾM THÔNG TIN

Tìm kiếm thông tin (Information Retrieval - IR ) chủ yếu giải quyết các vấn

đề về biểu diễn, tìm kiếm và xử lý trên những tập lớn các văn bản điện tử hay dữ liệu ngôn ngữ Thông thường, các hệ thống IR tìm kiếm thông tin dựa trên các từ khóa, được biểu diễn thành các câu truy vấn gọi là query Các văn bản liên quan đến câu truy vấn được hệ thống IR xếp hạng dựa trên điểm đánh giá giữa văn bản trả về

và câu truy vấn Danh sách các văn bản trả về được hệ thống IR sắp xếp theo thứ tự giảm dần của điểm hay mức độ liên quan giữa văn bản và câu truy vấn

Tiến trình IR được mô tả vắn tắt như sau, trước hết văn bản được phân tích thành các phần cơ bản, gọi là các token, để đánh chỉ mục Câu truy vấn cũng được phân tích thành các token (gọi là query token) Hệ thống IR xác định văn bản xuất hiện các query token, tính toán điểm đánh giá giữa câu truy vấn và văn bản sau đó sắp xếp kết quả và trả về cho người dùng

1.1 Đánh chỉ mục văn bản (indexing)

Cấu trúc chỉ mục ngược (Inverted index) được sử dụng để đánh chỉ mục các

từ trong văn bản Inverted index, đôi khi còn được gọi là inverted file, là một cấu trúc dữ liệu chính trong hầu hết các hệ thống IR Một inverted index cung cấp một ánh xạ giữa các từ (sau đây được gọi là term) và vị trí xuất hiện của chúng trong tập văn bản C [17] Một inverted index có hai thành phần cơ bản:

- Từ điển (dictionary): là một danh sách các term trong tập từ vựng, V, của tập văn bản C

- Mỗi term được liên kết với một danh sách các văn bản mà nó xuất hiện

trong tập C Danh sách này được gọi là postings list

Nếu biểu diễn các số hiệu của văn bản (docid) trong index bằng các số nguyên thì postings list cho một term có thể được biểu diễn bằng một dãy các số nguyên, docid, tăng dần và một dãy số nguyên nhỏ tương ứng biểu diễn tần số xuất hiện của term trong các văn bản

Ví dụ 1.1:

Trang 19

10

windows

Hình 1.1 Ví dụ về postings list cho term “windows” trong inverted index

Trong ví dụ 1.1 term “windows” xuất hiện trong các văn bản 1, 5, 20, 50 với tần số lần lượt là 1, 2, 1, 3

Để hệ thống IR có thể tìm kiếm các văn bản liên quan đến sự xuất hiện của

cả một cụm từ trong một văn bản, cấu trúc chỉ mục ngược còn lưu trữ cả vị trí xuất hiện của term trong các văn bản trong tập C Do đó bên cạnh 2 dãy docid và tần số (frequency) xuất hiện của term trong văn bản, dãy số nguyên nhỏ biểu diễn vị trí xuất hiện của term trong các văn bản cũng được lưu trữ

Hình 1.2 Ví dụ về một inverted index với vị trí xuất hiện của term windows trong văn bản

Độ dài của dãy số nguyên biểu diễn vị trí của các term trong một văn bản bằng tổng tần số xuất hiện của chúng trong văn bản đó

Trong ví dụ 1.2, term “windows” xuất hiện trong văn bản có docid=50 với tần số freq=3, tại các vị trí 10, 30 và 100

1.2 Tìm kiếm văn bản

Quá trình tìm kiếm các văn bản liên quan đến câu truy vấn có thể được tóm tắt như sau: Đầu tiên câu truy vấn được token hóa thành các term theo cùng cách token hóa các văn bản để tạo chỉ mục ngược Ở bước thứ hai, dựa vào cấu trúc chỉ mục ngược, các danh sách các văn bản có sự xuất hiện mỗi term trong câu truy vấn được tìm thấy Ở bước cuối cùng, danh sách các văn bản có sự xuất hiện của các term trong câu truy vấn được tổng hợp từ các danh sách ở bước thứ hai và liệt kê

Trang 20

11

cho người dùng theo sự giảm dần của điểm đánh giá giữa văn bản và câu truy vấn

Một hệ thống IR thường được đánh giá dựa trên 3 chỉ số sau [7]:

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

câu truy vấn:

relevant retrieved precision

- {relevant}: Tập các văn bản liên quan đến câu truy vấn

- {retrieved}: Tập các văn bản được hệ thống IR tìm thấy

Thông thường, các văn bản được cho là khớp (matching) với câu truy vấn nếu có ít nhất một term trong câu truy vấn xuất hiện trong văn bản Do đó tập văn bản tìm thấy được có thể rất lớn nên các hệ thống IR luôn tìm cách trả về các kết quả mà nó cho là khớp nhất ở các vị trí đầu tiên Một hệ thống IR tốt luôn cho kết quả mà người dùng mong đợi nhất ở n vị trí đầu tiên (top n)

1.2.1 Mô hình không gian vector (Vector Space Model - VSM)

VSM là một trong những mô hình tìm kiếm văn bản đầu tiên VSM được phát triển bởi Gerald Salton trong thập niên 1960 và tiếp tục phát triển trong trong thập niên 1990 Gần đây, các ứng dụng của VSM bị thu hẹp lại do sự phát triển của một số mô hình khác như: Mô hình thống kê (Propabilistic Models), mô hình ngôn ngữ (Language Model) và các tiếp cận học máy khác (Machine Learning)

Trang 21

12

Trong mô hình vector, các câu truy

vấn và các văn bản được biểu diễn bằng

các vector trong một không gian đa chiều

Trong đó, mỗi thành phần của vector

tương ứng với một term trong bộ từ vựng

của tập văn bản Cho một vector truy vấn

(query vector) và một tập các vector văn

bản (document vector), độ tương tự của

một văn bản và câu truy vấn chính là độ

tương tự của document vector và query

vector và cũng chính là góc giữa hai vector Hai vector có độ tương tự càng cao thì góc giữa chúng càng nhỏ và ngược lại

Kí hiệu document vector biểu diễn cho văn bản d và câu truy vấn q lần lượt

là: d và q Độ tương tự giữa d và q, sim d q ( , ), là cosin của góc giữa hai vector d

q:

( , )

| | | |

d q sim d q

Trong VSM, các thành phần của document vector và query vector được biểu diễn bằng trọng số của term trong văn bản hay câu truy vấn tương ứng với thành phần đó Trọng số thường sử dụng trong VSM cho document vector là TF-IDF

Trọng số của term t trong văn bản, d, kí hiệu là tf-idf , được tính bằng tích:

Trang 22

13

log( ( , )) 1 if ( , ) 0( , )

0 ( ) 0

q t if q t

tf t q

idf(t): Hàm theo tần số văn bản ngƣợc của t; idf(t) có giá trị càng lớn nếu t

xuất hiện trong ít văn bản và ngƣợc lại

( ) log( )

t

N idf t

t

N idf t

Trang 23

bằng mô hình “bag of word” Hơn nữa, phép chuẩn hóa chiều dài bằng khoảng

cách Euclide đã được chứng minh là không hiệu quả trong trường hợp tập văn bản

C có các văn bản khác biệt nhau về chiều dài nên VSM cần phải được điều chỉnh

được sử dụng tốt trong những tập văn bản như vậy [17] Một trong những công thức được điều chỉnh là:

hệ thống tới người sử dụng sẽ được cực đại hóa [17]

Cho câu truy vấn, q, mô hình thống kê tìm xác xuất liên quan, p, của mỗi văn bản trong tập văn bản, C, với câu truy vấn q và sắp xếp các văn bản theo thứ tự giảm dần của xác xuất p Robertion và các cộng sự (1994) đã đưa ra công thức tính

,

score d q nổi tiếng trong chuỗi các mô hình Best-Match (BM) như sau:

1 1

Trang 24

n r : Số lượng các văn bản trong tập C liên quan đến câu truy vấn

n t,r : Số lượng văn bản trong tập C chứa term t và liên quan đến câu truy vấn N: Số lượng văn bản trong tập C

N t : Số lượng văn bản trong tập C có chứa term t

Nếu không có những thông tin về n r , n t,r , công thức (1.12) có thể viết đơn

giản như sau:

log( 0.5)

t t

t

w

Công thức (1.11) có hai tham số tự do: và k1 và b

nhận các giá trị mặc định lần lượt là 1.2 và 0.75 Công thức (1.11) thường được gọi

là công thức Okapi BM25 hay chỉ đơn giản là BM25

Nếu N – N t +0.5 ≤ N t + 0.5 hay N ≤ 2N t ,, w t có giá trị nhỏ hơn hay bằng 0

Để tránh trường hợp này, w t có thể tính bẳng công thức tính idf(t) (1.8.1):

Trang 25

16

1.3 Kiến trúc cơ bản của một hệ thống IR

Hình 1.4 Kiến trúc cơ bản của một hệ thống IR [17]

Hình 1.4 là kiến trúc cơ bản của một hệ thống IR [17] Nhu cầu thông tin (Information Need) của người dùng (User) là những thông tin, thường là những văn bản, đã được máy tìm kiếm đánh chỉ mục Tùy vào nhu cầu thông tin của mình, người dùng xây dựng câu truy vấn (Query) cung cấp cho hệ thống IR Thông thường, câu truy vấn có độ dài khoảng một vài term, từ hai đến ba term, cho các tác

vụ tìm kiếm thông tin trên Web

Câu truy vấn của người dùng được xử lý bởi một máy tìm kiếm (Search Engine) thường chạy trên máy cục bộ hay một cụm máy ở một vị trí cách xa người

dùng Nhiệm vụ chính của máy tìm kiếm là quản lý và xử lý trên một inverted index của một tập văn bản Sau khi câu truy vấn của người dùng đã được xử lý

xong, máy tìm kiếm trả về một danh sách các kết quả (Result) đã được xếp hạng

Trang 26

17

theo điểm đánh giá giữa văn bản và câu truy vấn Sau khi xếp hạng các kết quả, máy tìm kiếm còn có thể thực hiện các thao tác trên danh sách kết quả như: Loại bớt các kết quả trùng lắp hoặc các kết quả dư thừa

Kết chương

Trong chương 1, luận văn đã trình bày một cách tổng quan về truy vấn thông tin, từ việc đánh chỉ mục văn bản cho đến tìm kiếm thông tin trên các tập chỉ mục Trong chương tiếp theo, chúng tôi sẽ trình bày phương pháp tìm kiếm thực thể dựa trên các đánh giá của người dùng Bên cạnh đó, chúng tôi đề nghị cách cải thiện độ chính xác của kết quả trả về dựa trên việc xem xét các chiều hướng đánh giá của người dùng khi tính điểm giữa một đánh giá và câu truy vấn

Trang 27

ra, phương pháp cải thiện kết quả tìm kiếm cũng được trình bày trong chương này

Để thuận tiện trong cách trình bày, chúng tôi giới thiệu bài toán tìm kiếm thực thể

và một số kí hiệu

Giới thiệu bài toán tìm kiếm thực thể:

Cho E={e 1 , e 2 , e 3 ,…e n } là tập n thực thể thuộc về một loại thực thể (xe, điện thoại, laptop…) Mỗi thực thể e i có một tập các đánh giá (sau đây goi là đánh giá)

tương ứng R i ={r i1 , r i2 , r i3 ,…r im } trong đó r ij là đánh giá j của thực thể e i

Câu truy vấn q với một tập các từ khóa

Kết quả tìm kiếm với câu truy vấn q trên tập thực thể E là một tập các thực thể {e i } được sắp xếp theo sự giảm dần điểm đánh giá của mỗi thực thể với câu truy vấn q

Bài toán tìm kiếm thực thể dựa trên các đánh giá trong luận văn xử lý các đánh giá là dữ liệu văn bản được người dùng viết bằng tiếng Anh Do đó, trong chương này có sử dụng tiếng Anh cho một số từ liên quan đến dữ liệu và câu truy vấn

Câu truy vấn, q, của người dùng liên quan tới một hay nhiều thuộc tính của

thực thể Ví dụ, đối với thực thể xe hơi, các thuộc tính có thể là: “fuel economy”,

“small size”, “beautiful exterior design” Từ khóa chỉ thuộc tính của thực thể trong

câu truy vấn q được gọi là từ khóa chính (sau đây gọi là main key word) ví dụ như:

“fuel”, “size”, “design” Cấu trúc của câu truy vấn trong hầu hết các trường hợp bao gồm một hay nhiều tính từ và các main key word Khi tìm kiếm một thực thể dựa vào các đánh giá, người sử dụng luôn mong muốn tìm ra các thực thể mà cộng đồng người dùng đánh giá tốt hay nói cách khác các thực thể cần tìm được nhiều người tin cậy

Trang 28

19

Kí hiệu score(e i ,q) là điểm đánh giá giữa thực thể e i và câu truy vấn q score(r ij ,q) là điểm đánh giá giữa đánh giá j của thực thể e i và câu truy vấn q Để tính score(e i ,q), score(r ij ,q) của từng đánh giá r ij sẽ đƣợc tính toán nếu r ij khớp với

câu truy vấn Sau đó, score(r ij ,q) sẽ đƣợc tổng hợp để đƣa ra score(e i ,q) (Hình 2.1)

Hình 2.1 Mô hình tìm kiếm thực thể dựa trên đánh giá

2.1 Xếp hạng thực thể dựa trên các đánh giá

Với câu truy vấn q, score(r ij ,q) có thể đƣợc tính theo mô hình VSM hay mô hình xác xuất) Điểm đánh giá giữa thực thể e i và câu truy vấn q là:

,( , )i ({ ( i j q) | i j })

Trong đó:

- r ij match q: đánh giá j của thực thể e i khớp với câu truy vấn q

review entity

review review

review entity n

review review review

Trang 29

20

- score(r ij ,q): điểm của đánh giá r ij và câu truy vấn q

- Hàm f được lựa chọn tùy thuộc vào từng phương pháp tính điểm đánh giá

Các phương pháp tính điểm đánh giá thường dùng được liệt kê trong bảng 2.1

Bảng 2.1 Các phương pháp tổng hợp điểm đánh giá

Maximum Score Max score r q r match q{ ( , ) | ij i j }

Minimum Score Min score r q r match q{ ( , ) | i j i j }

score(e i ,q) trong phương pháp Sum Score phụ thuộc nhiều vào số lượng, k, đánh giá của thực thể, e i , khớp với câu truy vấn; score(e i ,q) có thể có giá trị lớn nếu

k lớn mặc dù mỗi score(r ij ,q) có thể có giá trị nhỏ Ngược lại, phương pháp Average Score có thể đưa ra giá trị score(e i ,q) lớn trong trường hợp k nhỏ nhưng mỗi score(r ij ,q) lại có giá trị lớn Rất khó để đánh giá trường hợp nào tốt hơn trong hai

trường hợp trên Do đó chúng tôi đề nghị công thức tính điểm đánh giá sau đây, gọi

là Sum-Average Score, được tổng hợp cả hai phương pháp tính điểm đánh giá, Sum

và Average, vào trong một công thức:

1 { match q}

nhiều người dùng đánh giá trong kết quả tìm kiếm, α được điều chỉnh để nhận một

giá trị thích hợp

Trang 30

21

2.2 Tính điểm đánh giá có xét các chiều hướng đánh giá của người sử dụng trong các đánh giá

Trong bài toán tìm kiếm thực thể (hay sản phẩm) dựa vào các đánh giá của

những người đã sử dụng qua sản phẩm đó, câu truy vấn q thường liên quan đến một

khía cạnh (aspect) nào đó của sản phẩm (ví dụ, các khía cạnh đối với xe: fuel economy, comfortable, exterior design…) và mức độ đánh giá của khía cạnh đó như: good, best….Để hệ thống trả về kết quả được nhiều người dùng tin cậy, ta có

thể tăng score(r,q) nếu đánh giá r thể hiện thái độ yêu thích của người dùng đến sản phẩm và ngược lại giảm score(r,q) nếu trong đánh giá r, người dùng thể hiện

thái độ không yêu thích sản phẩm

Ví dụ 2.1:

a The ride is smooth, not sporty, but is very relaxing and quiet The fuel

economy is excellent I very love my car

b After buying old cars that I can fix my own, (old VW,and fords) until major jobs (transmission, etc.), I have gotten tired and bought this car The first thing I looked for was fuel consumption I wanted a hybrid, but at my federal wages it was out of my sight Then I found 07 yaris 2 dr, 5sp M It has the feel of my old bug, but

more room for storage, great fuel consumtion and great price range

easy and lots of storage/hauling room Good acceleration when needed Will keep this fuel efficient hard worker for a long time

d The ride is pretty comfortable, but the seats can get pretty uncomfortable

after a few hours driving The biggest problem I have with this car is the horrible

fuel economy I'm getting I bought this car to save gas mileage, not get the same as

my '96 Nissan Maxima or my '05 Toyota Sienna

e I was really excited when I purchased this SUV But after 6 months and

4000 miles later, I'm a little disappointed There is a delay in shifting response with the transmission especially when going uphill Delayed response even felt in the manual shift mode The first update to the trany program was ineffective, no

Trang 31

22

improvement The fuel economy is really poor compared with the 17 city and 25

hwy It's more like 13 city and 18 hwy

Đối với khía cạnh fuel economy, 3 đánh giá a, b, c được đánh giá tốt bằng

những từ đánh giá: excellent, great, love Ví dụ:

- The fuel economy is excellent

- great fuel consumtion

- love fuel economy

2 đánh giá d, e được đánh giá không tốt bằng những từ đánh giá: horrible, poor Ví

dụ:

- horrible fuel mileage I'm getting

- The fuel economy is really poor

Với câu truy vấn q=good fuel economy, người dùng mong muốn tìm chiếc xe có

khía cạnh fuel economy được đánh giá tốt Cả 5 đánh giá trong ví dụ 2.1 đều khớp

với q do cả 5chawcs đều có chứa từ fuel economy Do đó, nếu không xét đến các

chiều hướng đánh giá, kết quả tìm kiếm có thể chứa những thực thể không được

đánh giá tốt trong top n kết quả đầu tiên

Kavita Ganesan, ChengXiang Zhai [12], đề xuất phương pháp mở rộng câu truy vấn bằng các từ đánh giá để tăng sự so khớp với các từ đánh giá Ví dụ, câu

truy vấn q=good fuel economy có thể được mở rộng thành q’=excellent| great| best| fantastic|good fuel economy Tuy nhiên việc mở rộng câu truy vấn như vậy chỉ có

thể xét đến một chiều hướng đánh giá tốt (hoặc xấu) khi tính điểm đánh giá giữa các đánh giá và câu truy vấn Để có thể xét đến cả hai chiều hướng đánh giá khi tính điểm đánh giá, chúng tôi lượng hóa các từ đánh giá thành các giá trị cụ thể gọi là các trọng số Trọng số các từ đánh giá tích cực có giá trị dương, các từ đánh giá tiêu

cực có giá trị âm Với câu truy vấn, q, tùy theo mức độ đánh giá tích cực hay tiêu cực của người sử dụng đối với thực thể trong đánh giá r mà score(r,q) sẽ được điều

chỉnh tăng hay giảm một cách thích hợp nhờ vào các trọng số của từ đánh giá Mục 2.2.1 dưới đây được dành cho việc trình bày cách tính mức độ tích cực hay tiêu cực

của một đánh giá và công thức tính điểm đánh giá có xét đến thái độ của người đánh

Trang 32

Năm 2002, Peter D.Turney đưa ra thuật toán học không giám sát để phân lớp các đánh giá [14] với hai tập mẫu gồm tập đánh giá của các phim và tập đánh giá của các xe hơi Peter D.Turney dùng phương pháp PMI (Pointwise Mutual

Information) để phân lớp một đánh giá thuộc về lớp recommended hay not recommended PMI giữa hai từ w 1 và w 2 được tính bởi công thức:

( & )( , ) log

p w w PMI w w

p w p w Trong đó p(w 1 ) và p(w 2 ) là xác xuất xuất hiện của hai từ w 1 và w 2 còn p(w 1 &

w 2 ) là xác xuất xuất hiện hai từ cùng với nhau Chỉ số SO (Sentiment Orientation –

Sự định hướng thiện cảm), cho một cụm từ (phrase) là:

SO(phrase)=PMI(phrase ,”excellent”) – PMI(phrase, “poor”)

Hai từ “excellent” và “poor” được chọn bởi vì “excellent” thường xuất hiện trong các đánh giá với điểm số 5 sao và “poor” thường xuất hiện trong các đánh giá

với điểm số 1 sao Một cụm từ được cho là tích cực nếu nó liên quan nhiều hơn tới

từ excellent và được cho là tiêu cực nếu nó liên quan nhiều hơn đến từ poor

Kí hiệu hits(query) là số lượng kết quả máy tìm kiếm trả về cho câu truy vấn, query Peter D.Turney ước lượng giá trị SO(phrase) như sau:

Trang 33

24

Toán tử NEAR ràng buộc các đánh giá trong kết quả trả về phải có ít nhất một cụm

từ có độ dài 10 chứa các từ trong câu truy vấn không kể đến trật tự của các từ

Để phân lớp một đánh giá, Peter D.Turney thực hiện 3 bước sau:

1 Xác định các cụm từ có chứa các tính từ (adjective) hay trạng từ (adverb)

2 Tính SO(phrase) cho mỗi cụm từ

3 Tính giá trị trung bình của tất cả các SO(phrase) thuộc về đánh giá và

phân lớp các đánh giá dựa vào giá trị trung bình của SO Một đánh giá thuộc lớp

recommended nếu giá trị trung bình có giá trị dương Ngược lại, đánh giá thuộc về lớp not recommended

Bing Liu [1] cho rằng khác với phân lớp văn bản thành các chủ đề khác nhau, phân lớp thiện cảm không phụ thuộc và các từ mô tả chủ đề mà chủ yếu phụ thuộc vào các từ thể hiện quan điểm của người đánh giá là tích cực hay tiêu cực

như: great, excellent, amazing, horrible, bad, worst,…

2.2.1.2 Tính điểm đánh giá của một đánh giá với câu truy vấn có xét đến SO của đánh giá

Dựa trên công thức tính (2.2), chúng tôi đề nghị công thức tính score(e i ,q) có

xét đến sự ảnh hưởng của chỉ số SO như sau:

1 { match q}

SO(r ij ) là chỉ số SO của đánh giá r ij của thực thể ei

c=1 nếu SO(r ij )>=0, c=-1 nếu SO(r ij )<0

f: Hệ số tự do điều chỉnh mức độ ảnh hưởng của chỉ số SO đối với score(r ij ,q)

Chỉ số SO(r ij )> 0 khi đánh giá thể hiện sự đánh giá tốt của người dùng đối với thực thể và ngược lại Do đó trong công thức (2.3) tùy theo giá trị của SO(r ij ), score(r ij , q) sẽ được tăng giảm một cách thích hợp

2.2.1.3 Tính chỉ số SO

Trang 34

25

Chỉ số SO(r ij ) trong bài toán phân lớp là chỉ số định hướng chung cho r ij

Trong thực tế, người dùng có thể đánh giá nhiều khía cạnh của một thực thể trong một đánh giá Khi tìm kiếm, người dùng thường chỉ quan tâm đến một khía cạnh nào đó của thực thể Do đó, trong bài toán tìm kiếm đối tượng dựa vào các đánh giá,

cần phải tính chỉ số SO(r ij ) một cách thích hợp

Cho rằng: Định hướng thiện cảm (Sentiment Orientation - SO) của một văn bản bằng tổng định hướng của tất cả các phần trong văn bản đó Nếu không quan

tâm đến việc người dùng quan tâm đến một khía cạnh nào đó của thực thể, chỉ số

SO của một đánh giá r có thể được tính dựa vào các từ đánh giá (gọi là opinion word) theo công thức sau:

2.2.1.4 Chỉ số SO đối với một khía cạnh của thực thể

Khi tìm kiếm thực thể dựa trên các đánh giá người dùng thường chỉ quan tâm đến một vài khía cạnh của thực thể do đó nếu áp dụng công thức (2.3) với giá trị

SO(r) được tính theo công thức (2.4), kết quả trong một số trường hợp sẽ không

theo như mong muốn của người dùng Hệ thống IR sẽ được đánh giá thông minh nếu nó trả về các thực thể được người dùng đánh giá tốt về các khía cạnh thực thể được mô tả trong câu truy vấn Một cách trực giác, có thể thấy rằng các từ đánh giá

và từ chỉ khía cạnh thực thể khi nằm trong cùng một câu sẽ ảnh hưởng tới nhau nhiều hơn so với trường hợp chúng nằm ở các câu khác nhau

Thông thường trong các đánh giá, các từ đánh giá và từ chỉ khía cạnh của thực thể nằm trong cùng một câu Trong một số trường hợp khác, từ đánh giá hay từ thể hiện cảm tính và từ chỉ khía cạnh nằm trong hai câu khác nhau Ví dụ:

Trang 35

26

- The fuel economy is excellent I very love my car

- I am extremely pleased with the 2007 Camry Hybrid Fuel economy in mixed driving has ranged from 34.5 to 37 miles per gallon which to me is more than acceptable

- getting less than 10 miles per gallon fuel economy overall a very poor

chỉ khía cạnh và từ đánh giá, ta dùng một cửa sổ với kích thước s di chuyển dọc

theo đánh giá Nếu cả hai từ đánh giá và từ chỉ khía cạnh cùng nằm trong một cửa

sổ thì khả năng chúng liên quan với nhau cao và ngược lại

Mức độ đánh giá của một từ đánh giá, tại vị trí po, có trọng số w đối với từ chỉ khía cạnh tại vị trí pk là:

po pk

- |pk-po|/s là phép chia lấy phần nguyên để chỉ ra vị trí tương đối của cửa sổ

có từ w xuất hiện so với vị trí của từ chỉ khía cạnh đang xét trong đánh giá r

- relate(|pk-po|/s): Hàm chỉ mức độ liên quan giữa hai từ ở hai vị trí po và

pk Hàm relate phải có tính chất: Giảm khi |pk-po|/s tăng

Sự liên quan giữa hai từ với nhau giảm rất nhanh theo khoảng cách (tính bằng số câu) giữa chúng Khi khảo sát các đánh giá, các từ đánh giá nằm cách xa từ chỉ một khía cạnh cụ thể nào đó thường ít liên quan đến từ chỉ khía cạnh đó hoặc liên quan đến từ chỉ khía cạnh khác hoặc là các từ đánh giá chung về thực thể Kí

hiệu x=|pk-po|/s, hàm relate(x) được đề nghị như sau :

1 ( 1)( )

Trang 36

27

relate(x) Với x=0, hai từ đánh giá và từ chỉ khía cạnh cùng nằm trong một cửa sổ,

relate(x) có giá trị bằng 1 Với x đủ lớn, relate(x) có giá trị gần bằng 1

k

Hình 2.1 Đồ thị của hàm relate(x) với k=5; β=2

Theo đồ thị trong hình 2.1, (trường hợp β=2 và k=5), khi x>=2 giá trị của relate đã dần tiệm cận tới giá trị 1/k

Một từ chỉ khía cạnh của thực thể có thể xuất hiện nhiều lần trong một đánh giá và được đánh giá với các mức độ liên quan khác nhau Đối với các từ đánh giá tích cực ta quan tâm đến mức độ đánh giá lớn nhất, còn đối với các từ đánh giá tiêu cực ta quan tâm đến mức độ đánh giá bé nhất cho một khía cạnh Công thức tính chỉ

số SO cho một khía cạnh thực thể trong đánh giá r:

2.2.2 Tính trọng số của các từ đánh giá trong hai vector pos và neg

Hai tập mẫu posReview và negReview được sử dụng để tính các trọng số của các từ đánh giá của hai vector pos, neg Trong đó:

1

Trang 37

28

- posReview: Chỉ gồm các đánh giá tích cực (positive review)

- negReview: Chỉ gồm các đánh giá tiêu cực (negative review)

Các đánh giá thường kèm theo các mức điểm số của người đánh giá về thực

thể Do vậy ta có thể thu thập hai tập posReview và negReview dựa vào điểm số đánh giá của chúng Tập posReview chỉ gồm các đánh giá có điểm số tối đa còn tập negReview chỉ gồm các đánh giá có điểm số thấp hơn điểm đánh giá trung bình Gọi

R p là đánh giá được tạo ra bằng cách nối tất cả các đánh giá của tập posReview Tương tự như vậy R n là đánh giá được tạo ra bằng cách nối tất cả các đánh giá trong

tập negReview Theo Peter D.Turney [14]: Định hướng (tích cực hay tiêu cực) của một văn bản bằng tổng định hướng của tất cả các phần trong văn bản đó

Khác với Peter D.Turney, phải xác định chỉ số SO cho từng đánh giá Khi tính các trọng số cho các từ đánh giá, chỉ số SO của mỗi đánh giá trong hai tập mẫu

được xem như đã biết và tỉ lệ với điểm đánh giá chung cho từng đánh giá Các trọng

số của các từ đánh giá sẽ được ước lượng dựa vào điểm đánh giá của từng đánh giá

Sau đó, các giá trị trọng số của các từ đánh giá sẽ được sử dụng để tính chỉ số SO

đối với một khía cạnh nào đó của thực thể theo công thức (2.5) và (2.7)

Xem định hướng của đánh giá R p , hoặc R n là tổng định hướng của từng đánh

giá, ta có định hướng của đánh giá R p là:

Trang 38

29

- pw : Trọng số trung bình của các từ thuộc vector pos

- nw : Trọng số trung bình của các từ thuộc vector neg

- s pp : Tổng tần số xuất hiện của các từ thuộc vector pos trong R p

- s np : Tổng tần số xuất hiện của các từ thuộc vector neg trong R p

- s pn : Tổng tần số xuất hiện của các từ thuộc vector pos trong R n

- s nn : Tổng tần số xuất hiện của các từ thuộc vector neg trong R n

- Đa số người sử dụng dùng các từ đánh giá tích cực để đánh giá tốt một sản

phẩm Do đó, các từ đánh giá tích cực xuất hiện trong R p nhiều hơn trong R n

- Đa số người sử dụng dùng các từ đánh giá tiêu cực để đánh giá xấu một sản phẩm Trong một số ít trường hợp, người sử dụng dùng từ tích cực cùng với một từ mang nghĩa phủ định (ví dụ như: not good) Do đó, các từ đánh giá tiêu cực xuất

hiện trong R n nhiều hơn trong R p

Nên spp >>spn và snn>>snp, suy ra s pp s nn s pn s np 0 Hệ phương trình

(2.12) luôn có nghiệm pw và nw

Gọi pw và r nw lần lượt là trọng số trung bình của một từ đánh giá trong r

vector pos trong mỗi đánh giá, r p , thuộc tập posReview và vector neg trong mỗi đánh giá, r n , thuộc tập negReview Nếu xem định hướng của một đánh giá là tổng

định hướng của các từ đánh giá trong một đánh giá, ta có:

Trang 39

s pr, và s nr lần lượt là tổng tần số xuất hiện của các từ thuộc vector pos trong đánh giá

r và tổng tần số của các từ thuộc vector neg trong đánh giá r

Công thức (2.13) cho kết quả | pw có giá trị bé nếu có nhiều từ đánh giá r |

tích cực xuất hiện trong cùng một đánh giá trong tập posReview Tương tự, công

thức (2.14) cũng cho kết quả |nw có giá trị bé khi có nhiều từ đánh giá tiêu cực r |

xuất hiện trong cùng một đánh giá trong tập negReview Điều này không hợp lý vì

các từ đánh giá tích cực xuất hiện cùng với nhau trong một đánh giá sẽ có xu hướng làm tăng mức đánh giá cho nhau Ví dụ:

1 The fuel economy is good This is a excellent car

2 The fuel economy is good

Trong cả hai ví dụ, khía cạnh fuel đều được đánh giá với từ good Nhưng trong ví dụ 1, khía cạnh fuel có vẻ như được đánh giá tốt hơn trong ví dụ 2, Từ excellent làm tăng sự tin cậy của khía cạnh được đánh giá tốt là fuel Hay nói cách khác từ good trong ví dụ 1 mang nghĩa tích cực hơn so với chính nó trong ví dụ 2

Gọi s pr (hay s ) là tần số trung bình của các từ đánh giá tích cực (hay tiêu nr

cực) trong một đánh giá của tập posRevew (hay negReview) Để xét đến sự hỗ trợ

gia tăng định hướng của các từ khi chúng cùng xuất hiện với nhau trong một đánh

giá, công thức tính SO(r) cho từng đánh giá trong hai tập posReview và negReview

trong tập posReview bằng 5, điểm số đánh giá trong tập negReview từ 1 đến 1.5

Công thức (2.13.1) và (2.14.2) coi các đánh giá có điểm số khác nhau tùy theo số

Ngày đăng: 25/07/2017, 21:54

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Bing Liu, “Web data mining; Exploring hyperlinks, contents, and usage data,” Opinion Mining. Springer, 2011 Sách, tạp chí
Tiêu đề: Web data mining; Exploring hyperlinks, contents, and usage data
[2] Bo Pang, Lillian Lee, “Opinion Mining and Sentiment Analysis”, in Foundations and Trends in Information Retrieval, vol. 2, pages 1-135, 2008 Sách, tạp chí
Tiêu đề: “Opinion Mining and Sentiment Analysis”
[12] Kavita Ganesan, Cheng Xiang Zhai, "Opinion-Based Entity Ranking", Information Retrieval, 2011 Sách, tạp chí
Tiêu đề: Opinion-Based Entity Ranking
[13] Kushal Dave, Steve Lawrence, David M. Pennock, “Mining the Peanut Gallery: Opinion Extraction and Semantic Classification of Product Reviews”, WWW2003 Sách, tạp chí
Tiêu đề: “Mining the Peanut Gallery: Opinion Extraction and Semantic Classification of Product "Review"s”
[15] Rodrygo L.T. Santos, Craig Macdonald, Iadh Ounis, Voting for Related Entities. Proceeding RIAO '10 Adaptivity, Personalization and Fusion of Heterogeneous Information, pages 1-8 Sách, tạp chí
Tiêu đề: Voting for Related Entities
[17] Stefan Biittcher , Charles L.A. Clarke, and Gordon V. Cormack, Information retrieval: implementing and evaluating search engines, 2010 Massachusetts Institute of Technology, pages 54-73, 264-273 Sách, tạp chí
Tiêu đề: Information retrieval: implementing and evaluating search engines
[3] Bo Pang, Lillian Lee, and Shivakumar Vaithyanathan. Thumbs up? Sentiment classication using machine learning techniques. In Proceedings of the 2002 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 79-86, 2002 Khác
[4] Bo Pang and Lillian Lee. A sentimental education: Sentiment analysis using subjectivity summarization based on minimum cuts. In Proceedings of the ACL, pages 271-278, 2004 Khác
[5] Bo Pang and Lillian Lee. Seeing stars: Exploiting class relationships for sentiment categorization with respect to rating scales. In Proceedings of the ACL, pages 115,124, 2005 Khác
[7] Javie Hand and Micheline Kamber, Data mining Concept and Techniques second edition, Morgan Kaufmann Publishers 2006, pages 616 Khác
[8] Jimmy Lin and Chris Dyer, Data-Intensive Text Processing with MapReduce, Morgan &amp; Claypool Publishers 2010, pages 17-35, 37-64 Khác
[9] Kalervo Jọrvelin and Jaana Kekọlọinen. Cumulated gain-based evaluation of ir techniques. ACM Transactions on Information Systems. Volume 20 Issue 4, October 2002, pages 422 – 446 Khác
[10] Kavita A. Ganesan, Neelakantan Sundaresan, Harshal Deo, Mining tag clouds and emoticons behind community feedback. In Proceeding of the 17th international conference on World Wide Web (2008), pages 1181-1182[11] Kavita Ganesan, Cheng Xiang Zhai, Jiawei Han Khác
[14] Peter D. Turney, Thumbs Up or Thumbs Down? Semantic Orientation Applied to Unsupervised Classification of Reviews. Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics (ACL), Philadelphia, July 2002, pages. 417-424 Khác
[16] Stefano Baccianella, Andrea Esuli, and Fabrizio Sebastiani, SENTIWORDNET 3.0: An Enhanced Lexical Resource for Sentiment Analysis and Opinion Mining. In Proceedings of the Seventh conference on International Language Resources and Evaluation (LREC'10) pages 2200- 2204, may 2010 Khác
[18] Tao Cheng, Xifeng Yan, Kevin Chen-Chuan Chang, EntityRank: Searching Entities Directly and Holistically. Proceeding VLDB '07 Proceedings of the 33rd international conference on Very large data bases, pages 387-398[19] www.apache.lucene Khác

HÌNH ẢNH LIÊN QUAN

Hình 0.1: Tóm tắt các đặc tính của một cellular phone dựa trên các đánh giá [1] - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 0.1 Tóm tắt các đặc tính của một cellular phone dựa trên các đánh giá [1] (Trang 11)
Hình 1.4.  Kiến trúc cơ bản của một hệ thống IR [17] - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 1.4. Kiến trúc cơ bản của một hệ thống IR [17] (Trang 25)
Hình 2.1. Mô hình tìm kiếm thực thể dựa trên đánh giá. - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 2.1. Mô hình tìm kiếm thực thể dựa trên đánh giá (Trang 28)
Bảng 2.1. Các phương pháp tổng hợp điểm đánh giá - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Bảng 2.1. Các phương pháp tổng hợp điểm đánh giá (Trang 29)
Hình 3.1. Hai pha map và reduce của một MapReduce job [8] - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 3.1. Hai pha map và reduce của một MapReduce job [8] (Trang 43)
Hình 3.2. MapReduce với đầy đủ các thành phần [8] - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 3.2. MapReduce với đầy đủ các thành phần [8] (Trang 45)
Hình 3.3. Sơ đồ một ứng dụng MapReduce ở mức cao [20] - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 3.3. Sơ đồ một ứng dụng MapReduce ở mức cao [20] (Trang 46)
Hình 3.4. Sơ đồ theo dõi một ứng dụng MapReduce [6] - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 3.4. Sơ đồ theo dõi một ứng dụng MapReduce [6] (Trang 48)
Hình 3.5. Sơ đồ thực thi chi tiết một ứng dụng MapReduce [20]. - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 3.5. Sơ đồ thực thi chi tiết một ứng dụng MapReduce [20] (Trang 49)
Hình 3.6. Sơ đồ thuật toán MapReduce Entity Search cho bài toán tìm kiếm thực thể dựa - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 3.6. Sơ đồ thuật toán MapReduce Entity Search cho bài toán tìm kiếm thực thể dựa (Trang 51)
Bảng 4.1. Lucene Document của một đánh giá - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Bảng 4.1. Lucene Document của một đánh giá (Trang 58)
Hình 4.2  Một khối các document biểu diễn các đánh giá về một mẫu xe - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 4.2 Một khối các document biểu diễn các đánh giá về một mẫu xe (Trang 59)
Hình 4.3 nDCG trung bình của top 10 kết quả trả về trong từng trường hợp thử nghiệm - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 4.3 nDCG trung bình của top 10 kết quả trả về trong từng trường hợp thử nghiệm (Trang 70)
Hình 4.4 So sánh nDCG trong hai trường hợp tốt nhất khi f=2 và f=0. - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 4.4 So sánh nDCG trong hai trường hợp tốt nhất khi f=2 và f=0 (Trang 70)
Hình 4.5. top 10 kết quả tìm kiếm với câu truy vấn: good + fuel economy, với f=0, sum - Tìm kiếm thực thể dựa trên đánh giá của người dùng và ứng dụng mapreduce trong bài toán tìm kiếm đối tượng
Hình 4.5. top 10 kết quả tìm kiếm với câu truy vấn: good + fuel economy, với f=0, sum (Trang 72)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w